Files
Leo 91af2a883a feat: Add tech-debt-tracker POWERFUL-tier skill
Complete technical debt management system with three interconnected tools:

• debt_scanner.py - AST-based Python analysis + regex patterns for multi-language debt detection
• debt_prioritizer.py - Multiple prioritization frameworks (CoD, WSJF, RICE) with sprint planning
• debt_dashboard.py - Historical trend analysis, health scoring, and executive reporting

Features:
- 15+ debt types detected (complexity, duplicates, security, architecture, etc.)
- Business impact analysis with ROI calculations
- Health scoring (0-100) with trend forecasting
- Executive and engineering stakeholder reports
- Zero external dependencies, stdlib only
- Comprehensive documentation and sample data

Addresses: tech debt identification, prioritization, tracking, and stakeholder communication
2026-02-16 13:00:55 +00:00

2034 lines
57 KiB
JSON

{
"scan_metadata": {
"directory": "assets/sample_codebase",
"scan_date": "2026-02-16T12:59:28.141103",
"scanner_version": "1.0.0",
"config": {
"max_function_length": 50,
"max_complexity": 10,
"max_nesting_depth": 4,
"max_file_size_lines": 500,
"min_duplicate_lines": 3,
"ignore_patterns": [
"*.pyc",
"__pycache__",
".git",
".svn",
"node_modules",
"build",
"dist",
"*.min.js",
"*.map"
],
"file_extensions": {
"python": [
".py"
],
"javascript": [
".js",
".jsx",
".ts",
".tsx"
],
"java": [
".java"
],
"csharp": [
".cs"
],
"cpp": [
".cpp",
".cc",
".cxx",
".c",
".h",
".hpp"
],
"ruby": [
".rb"
],
"php": [
".php"
],
"go": [
".go"
],
"rust": [
".rs"
],
"kotlin": [
".kt"
]
},
"comment_patterns": {
"todo": "(?i)(TODO|FIXME|HACK|XXX|BUG)[\\s:]*(.+)",
"commented_code": "^\\s*#.*[=(){}\\[\\];].*",
"magic_numbers": "\\b\\d{2,}\\b",
"long_strings": "[\"\\'](.{100,})[\"\\']"
},
"severity_weights": {
"critical": 10,
"high": 7,
"medium": 5,
"low": 2,
"info": 1
}
}
},
"summary": {
"total_files_scanned": 3,
"total_lines_scanned": 986,
"total_debt_items": 122,
"health_score": 0,
"debt_density": 40.67,
"priority_breakdown": {
"medium": 81,
"low": 41
},
"type_breakdown": {
"high_complexity": 3,
"large_function": 2,
"duplicate_code": 68,
"too_many_parameters": 2,
"empty_catch": 1,
"hardcoded_paths": 5,
"missing_docstring": 22,
"long_line": 2,
"todo_comment": 17
}
},
"debt_items": [
{
"id": "DEBT-0005",
"type": "high_complexity",
"description": "Function 'create_user' has high complexity: 26",
"file_path": "src/user_service.py",
"line_number": 24,
"severity": "high",
"metadata": {
"function_name": "create_user",
"complexity": 26
},
"detected_date": "2026-02-16T12:59:28.115457",
"status": "identified",
"priority_score": 9,
"priority": "medium"
},
{
"id": "DEBT-0004",
"type": "high_complexity",
"description": "Function 'process_payment' has high complexity: 36",
"file_path": "src/payment_processor.py",
"line_number": 20,
"severity": "high",
"metadata": {
"function_name": "process_payment",
"complexity": 36
},
"detected_date": "2026-02-16T12:59:28.125126",
"status": "identified",
"priority_score": 9,
"priority": "medium"
},
{
"id": "DEBT-0010",
"type": "high_complexity",
"description": "Function 'validate_credit_card' has high complexity: 16",
"file_path": "src/payment_processor.py",
"line_number": 244,
"severity": "high",
"metadata": {
"function_name": "validate_credit_card",
"complexity": 16
},
"detected_date": "2026-02-16T12:59:28.126081",
"status": "identified",
"priority_score": 9,
"priority": "medium"
},
{
"id": "DEBT-0003",
"type": "large_function",
"description": "Function 'create_user' is too long: 101 lines",
"file_path": "src/user_service.py",
"line_number": 24,
"severity": "medium",
"metadata": {
"function_name": "create_user",
"length": 101
},
"detected_date": "2026-02-16T12:59:28.114676",
"status": "identified",
"priority_score": 7,
"priority": "medium"
},
{
"id": "DEBT-0003",
"type": "large_function",
"description": "Function 'process_payment' is too long: 196 lines",
"file_path": "src/payment_processor.py",
"line_number": 20,
"severity": "medium",
"metadata": {
"function_name": "process_payment",
"length": 196
},
"detected_date": "2026-02-16T12:59:28.124441",
"status": "identified",
"priority_score": 7,
"priority": "medium"
},
{
"id": "DEBT-0055",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 28,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140697",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0056",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 138,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140705",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0057",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 29,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140709",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0058",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 139,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140712",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0059",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 87,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140716",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0060",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 88,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140718",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0061",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 90,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140721",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0062",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 91,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140723",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0063",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 122,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140726",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0064",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 123,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140729",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0065",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 190,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140733",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0066",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 191,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140735",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0067",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 251,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140739",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0068",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 252,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140741",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0069",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 255,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140743",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0070",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 256,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140745",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0071",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 28,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140751",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0072",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 29,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140754",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0073",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 31,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140756",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0074",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 32,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140758",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0075",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 34,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140761",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0076",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 35,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140763",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0077",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 37,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140766",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0078",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 38,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140768",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0079",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 83,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140771",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0080",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 84,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140774",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0081",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 102,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140777",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0082",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 145,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140779",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0083",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 114,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140782",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0084",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 156,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140784",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0085",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 115,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140786",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0086",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 157,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140788",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0087",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 116,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140790",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0088",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 158,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140793",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0089",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 117,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140795",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0090",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 159,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140797",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0091",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 119,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140800",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0092",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 120,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140802",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0093",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 121,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140804",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0094",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 162,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140806",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0095",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 122,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140808",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0096",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 163,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140813",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0097",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 161,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140816",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0098",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 203,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140818",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0099",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 213,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140822",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0100",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 214,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140824",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0101",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 223,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140827",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0102",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 224,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140829",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0103",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 235,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140832",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0104",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 236,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140834",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0105",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 265,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140837",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0106",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 266,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140839",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0107",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 306,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140842",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0108",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/payment_processor.py",
"severity": "medium",
"metadata": {
"line_number": 307,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140844",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0109",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 99,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140849",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0110",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 100,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140851",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0111",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 111,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140854",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0112",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 136,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140856",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0113",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 112,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140858",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0114",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 137,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140861",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0115",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 147,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140863",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0116",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 148,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140866",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0117",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 221,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140870",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0118",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 222,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140872",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0119",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 234,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140874",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0120",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 271,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140876",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0121",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 235,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140878",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0122",
"type": "duplicate_code",
"description": "Duplicate code block found in 2 files",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 272,
"duplicate_count": 2,
"other_files": []
},
"detected_date": "2026-02-16T12:59:28.140885",
"status": "identified",
"priority_score": 6,
"priority": "medium"
},
{
"id": "DEBT-0006",
"type": "too_many_parameters",
"description": "Function 'create_user' has too many parameters: 14",
"file_path": "src/user_service.py",
"line_number": 24,
"severity": "medium",
"metadata": {
"function_name": "create_user",
"parameter_count": 14
},
"detected_date": "2026-02-16T12:59:28.115465",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0025",
"type": "empty_catch",
"description": "Code smell detected: empty_catch",
"file_path": "src/user_service.py",
"severity": "medium",
"metadata": {
"line_number": 170,
"pattern": "except:\n pass\n "
},
"detected_date": "2026-02-16T12:59:28.120298",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0005",
"type": "too_many_parameters",
"description": "Function 'process_payment' has too many parameters: 12",
"file_path": "src/payment_processor.py",
"line_number": 20,
"severity": "medium",
"metadata": {
"function_name": "process_payment",
"parameter_count": 12
},
"detected_date": "2026-02-16T12:59:28.125130",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0050",
"type": "hardcoded_paths",
"description": "Code smell detected: hardcoded_paths",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 166,
"pattern": "'/users/'"
},
"detected_date": "2026-02-16T12:59:28.139558",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0051",
"type": "hardcoded_paths",
"description": "Code smell detected: hardcoded_paths",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 233,
"pattern": "'/users/'"
},
"detected_date": "2026-02-16T12:59:28.139584",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0052",
"type": "hardcoded_paths",
"description": "Code smell detected: hardcoded_paths",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 252,
"pattern": "'/users/'"
},
"detected_date": "2026-02-16T12:59:28.139595",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0053",
"type": "hardcoded_paths",
"description": "Code smell detected: hardcoded_paths",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 270,
"pattern": "'/users/'"
},
"detected_date": "2026-02-16T12:59:28.139606",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0054",
"type": "hardcoded_paths",
"description": "Code smell detected: hardcoded_paths",
"file_path": "src/frontend.js",
"severity": "medium",
"metadata": {
"line_number": 355,
"pattern": "'/auth/login'"
},
"detected_date": "2026-02-16T12:59:28.139636",
"status": "identified",
"priority_score": 5,
"priority": "medium"
},
{
"id": "DEBT-0001",
"type": "missing_docstring",
"description": "Class 'UserService' missing docstring",
"file_path": "src/user_service.py",
"line_number": 17,
"severity": "low",
"metadata": {
"class_name": "UserService"
},
"detected_date": "2026-02-16T12:59:28.114513",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0002",
"type": "missing_docstring",
"description": "Function '__init__' missing docstring",
"file_path": "src/user_service.py",
"line_number": 18,
"severity": "low",
"metadata": {
"function_name": "__init__"
},
"detected_date": "2026-02-16T12:59:28.114546",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0004",
"type": "missing_docstring",
"description": "Function 'create_user' missing docstring",
"file_path": "src/user_service.py",
"line_number": 24,
"severity": "low",
"metadata": {
"function_name": "create_user"
},
"detected_date": "2026-02-16T12:59:28.114684",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0007",
"type": "missing_docstring",
"description": "Function 'validate_email' missing docstring",
"file_path": "src/user_service.py",
"line_number": 126,
"severity": "low",
"metadata": {
"function_name": "validate_email"
},
"detected_date": "2026-02-16T12:59:28.116045",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0008",
"type": "missing_docstring",
"description": "Function 'authenticate_user' missing docstring",
"file_path": "src/user_service.py",
"line_number": 136,
"severity": "low",
"metadata": {
"function_name": "authenticate_user"
},
"detected_date": "2026-02-16T12:59:28.116159",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0009",
"type": "missing_docstring",
"description": "Function 'get_user' missing docstring",
"file_path": "src/user_service.py",
"line_number": 162,
"severity": "low",
"metadata": {
"function_name": "get_user"
},
"detected_date": "2026-02-16T12:59:28.116637",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0010",
"type": "missing_docstring",
"description": "Function 'update_user' missing docstring",
"file_path": "src/user_service.py",
"line_number": 166,
"severity": "low",
"metadata": {
"function_name": "update_user"
},
"detected_date": "2026-02-16T12:59:28.116694",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0011",
"type": "missing_docstring",
"description": "Function 'delete_user' missing docstring",
"file_path": "src/user_service.py",
"line_number": 194,
"severity": "low",
"metadata": {
"function_name": "delete_user"
},
"detected_date": "2026-02-16T12:59:28.117074",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0012",
"type": "missing_docstring",
"description": "Function 'search_users' missing docstring",
"file_path": "src/user_service.py",
"line_number": 199,
"severity": "low",
"metadata": {
"function_name": "search_users"
},
"detected_date": "2026-02-16T12:59:28.117131",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0013",
"type": "missing_docstring",
"description": "Function 'export_users' missing docstring",
"file_path": "src/user_service.py",
"line_number": 211,
"severity": "low",
"metadata": {
"function_name": "export_users"
},
"detected_date": "2026-02-16T12:59:28.117460",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0014",
"type": "missing_docstring",
"description": "Function 'import_users' missing docstring",
"file_path": "src/user_service.py",
"line_number": 215,
"severity": "low",
"metadata": {
"function_name": "import_users"
},
"detected_date": "2026-02-16T12:59:28.117523",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0015",
"type": "missing_docstring",
"description": "Function 'calculate_user_score' missing docstring",
"file_path": "src/user_service.py",
"line_number": 224,
"severity": "low",
"metadata": {
"function_name": "calculate_user_score"
},
"detected_date": "2026-02-16T12:59:28.117609",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0016",
"type": "missing_docstring",
"description": "Function 'get_user_service' missing docstring",
"file_path": "src/user_service.py",
"line_number": 256,
"severity": "low",
"metadata": {
"function_name": "get_user_service"
},
"detected_date": "2026-02-16T12:59:28.118051",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0017",
"type": "missing_docstring",
"description": "Function 'hash_password' missing docstring",
"file_path": "src/user_service.py",
"line_number": 261,
"severity": "low",
"metadata": {
"function_name": "hash_password"
},
"detected_date": "2026-02-16T12:59:28.118083",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0018",
"type": "missing_docstring",
"description": "Function 'validate_password' missing docstring",
"file_path": "src/user_service.py",
"line_number": 267,
"severity": "low",
"metadata": {
"function_name": "validate_password"
},
"detected_date": "2026-02-16T12:59:28.118172",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0001",
"type": "missing_docstring",
"description": "Class 'PaymentProcessor' missing docstring",
"file_path": "src/payment_processor.py",
"line_number": 12,
"severity": "low",
"metadata": {
"class_name": "PaymentProcessor"
},
"detected_date": "2026-02-16T12:59:28.124344",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0002",
"type": "missing_docstring",
"description": "Function '__init__' missing docstring",
"file_path": "src/payment_processor.py",
"line_number": 14,
"severity": "low",
"metadata": {
"function_name": "__init__"
},
"detected_date": "2026-02-16T12:59:28.124356",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0006",
"type": "missing_docstring",
"description": "Function 'send_payment_confirmation_email' missing docstring",
"file_path": "src/payment_processor.py",
"line_number": 217,
"severity": "low",
"metadata": {
"function_name": "send_payment_confirmation_email"
},
"detected_date": "2026-02-16T12:59:28.125733",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0007",
"type": "missing_docstring",
"description": "Function 'refund_payment' missing docstring",
"file_path": "src/payment_processor.py",
"line_number": 227,
"severity": "low",
"metadata": {
"function_name": "refund_payment"
},
"detected_date": "2026-02-16T12:59:28.125816",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0008",
"type": "missing_docstring",
"description": "Function 'get_transaction' missing docstring",
"file_path": "src/payment_processor.py",
"line_number": 239,
"severity": "low",
"metadata": {
"function_name": "get_transaction"
},
"detected_date": "2026-02-16T12:59:28.125889",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0009",
"type": "missing_docstring",
"description": "Function 'validate_credit_card' missing docstring",
"file_path": "src/payment_processor.py",
"line_number": 244,
"severity": "low",
"metadata": {
"function_name": "validate_credit_card"
},
"detected_date": "2026-02-16T12:59:28.125917",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0011",
"type": "missing_docstring",
"description": "Function 'get_payment_processor' missing docstring",
"file_path": "src/payment_processor.py",
"line_number": 311,
"severity": "low",
"metadata": {
"function_name": "get_payment_processor"
},
"detected_date": "2026-02-16T12:59:28.126436",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0044",
"type": "long_line",
"description": "Line too long: 140 characters",
"file_path": "src/frontend.js",
"severity": "low",
"metadata": {
"line_number": 161,
"length": 140
},
"detected_date": "2026-02-16T12:59:28.128066",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0045",
"type": "long_line",
"description": "Line too long: 122 characters",
"file_path": "src/frontend.js",
"severity": "low",
"metadata": {
"line_number": 180,
"length": 122
},
"detected_date": "2026-02-16T12:59:28.128072",
"status": "identified",
"priority_score": 2,
"priority": "low"
},
{
"id": "DEBT-0019",
"type": "todo_comment",
"description": "TODO/FIXME comment: TODO: Move this to configuration file",
"file_path": "src/user_service.py",
"severity": "low",
"metadata": {
"line_number": 12,
"comment": "TODO: Move this to configuration file"
},
"detected_date": "2026-02-16T12:59:28.118649",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0020",
"type": "todo_comment",
"description": "TODO/FIXME comment: FIXME: This should be in environment variables",
"file_path": "src/user_service.py",
"severity": "low",
"metadata": {
"line_number": 14,
"comment": "FIXME: This should be in environment variables"
},
"detected_date": "2026-02-16T12:59:28.118681",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0021",
"type": "todo_comment",
"description": "TODO/FIXME comment: HACK: Using dict for now, should be proper database connection",
"file_path": "src/user_service.py",
"severity": "low",
"metadata": {
"line_number": 21,
"comment": "HACK: Using dict for now, should be proper database connection"
},
"detected_date": "2026-02-16T12:59:28.118720",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0022",
"type": "todo_comment",
"description": "TODO/FIXME comment: TODO: Implement proper user ID generation",
"file_path": "src/user_service.py",
"severity": "low",
"metadata": {
"line_number": 88,
"comment": "TODO: Implement proper user ID generation"
},
"detected_date": "2026-02-16T12:59:28.119140",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0023",
"type": "todo_comment",
"description": "TODO/FIXME comment: XXX: This is terrible for production",
"file_path": "src/user_service.py",
"severity": "low",
"metadata": {
"line_number": 89,
"comment": "XXX: This is terrible for production"
},
"detected_date": "2026-02-16T12:59:28.119154",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0024",
"type": "todo_comment",
"description": "TODO/FIXME comment: TODO: Implement soft delete instead",
"file_path": "src/user_service.py",
"severity": "low",
"metadata": {
"line_number": 196,
"comment": "TODO: Implement soft delete instead"
},
"detected_date": "2026-02-16T12:59:28.119807",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0037",
"type": "todo_comment",
"description": "TODO/FIXME comment: TODO: These should come from environment or config",
"file_path": "src/payment_processor.py",
"severity": "low",
"metadata": {
"line_number": 15,
"comment": "TODO: These should come from environment or config"
},
"detected_date": "2026-02-16T12:59:28.126594",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0038",
"type": "todo_comment",
"description": "TODO/FIXME comment: FIXME: This should query a discount service",
"file_path": "src/payment_processor.py",
"severity": "low",
"metadata": {
"line_number": 67,
"comment": "FIXME: This should query a discount service"
},
"detected_date": "2026-02-16T12:59:28.126782",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0039",
"type": "todo_comment",
"description": "TODO/FIXME comment: HACK: Using print instead of actual email service",
"file_path": "src/payment_processor.py",
"severity": "low",
"metadata": {
"line_number": 219,
"comment": "HACK: Using print instead of actual email service"
},
"detected_date": "2026-02-16T12:59:28.127356",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0040",
"type": "todo_comment",
"description": "TODO/FIXME comment: TODO: Implement actual email sending",
"file_path": "src/payment_processor.py",
"severity": "low",
"metadata": {
"line_number": 224,
"comment": "TODO: Implement actual email sending"
},
"detected_date": "2026-02-16T12:59:28.127385",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0041",
"type": "todo_comment",
"description": "TODO/FIXME comment: TODO: Implement refund for different providers",
"file_path": "src/payment_processor.py",
"severity": "low",
"metadata": {
"line_number": 229,
"comment": "TODO: Implement refund for different providers"
},
"detected_date": "2026-02-16T12:59:28.127402",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0042",
"type": "todo_comment",
"description": "TODO/FIXME comment: XXX: This doesn't actually process the refund",
"file_path": "src/payment_processor.py",
"severity": "low",
"metadata": {
"line_number": 236,
"comment": "XXX: This doesn't actually process the refund"
},
"detected_date": "2026-02-16T12:59:28.127434",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0043",
"type": "todo_comment",
"description": "TODO/FIXME comment: FIXME: Implement actual transaction lookup",
"file_path": "src/payment_processor.py",
"severity": "low",
"metadata": {
"line_number": 241,
"comment": "FIXME: Implement actual transaction lookup"
},
"detected_date": "2026-02-16T12:59:28.127455",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0046",
"type": "todo_comment",
"description": "TODO/FIXME comment: TODO: Move configuration to separate file",
"file_path": "src/frontend.js",
"severity": "low",
"metadata": {
"line_number": 3,
"comment": "TODO: Move configuration to separate file"
},
"detected_date": "2026-02-16T12:59:28.138142",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0047",
"type": "todo_comment",
"description": "TODO/FIXME comment: FIXME: Should be in environment",
"file_path": "src/frontend.js",
"severity": "low",
"metadata": {
"line_number": 5,
"comment": "FIXME: Should be in environment"
},
"detected_date": "2026-02-16T12:59:28.138158",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0048",
"type": "todo_comment",
"description": "TODO/FIXME comment: HACK: Polyfill for older browsers - should use proper build system",
"file_path": "src/frontend.js",
"severity": "low",
"metadata": {
"line_number": 12,
"comment": "HACK: Polyfill for older browsers - should use proper build system"
},
"detected_date": "2026-02-16T12:59:28.138174",
"status": "identified",
"priority_score": 1,
"priority": "low"
},
{
"id": "DEBT-0049",
"type": "todo_comment",
"description": "TODO/FIXME comment: XXX: This method is never used",
"file_path": "src/frontend.js",
"severity": "low",
"metadata": {
"line_number": 287,
"comment": "XXX: This method is never used"
},
"detected_date": "2026-02-16T12:59:28.139089",
"status": "identified",
"priority_score": 1,
"priority": "low"
}
],
"file_statistics": {
"src/user_service.py": {
"path": "src/user_service.py",
"lines": 276,
"size_kb": 9.275390625,
"language": "python",
"debt_count": 16
},
"src/payment_processor.py": {
"path": "src/payment_processor.py",
"lines": 315,
"size_kb": 13.041015625,
"language": "python",
"debt_count": 38
},
"src/frontend.js": {
"path": "src/frontend.js",
"lines": 395,
"size_kb": 14.5419921875,
"language": "javascript",
"debt_count": 14
}
},
"recommendations": [
"Extract duplicate code into reusable functions or modules. This reduces maintenance burden and potential for inconsistent changes.",
"High debt density detected. Consider establishing coding standards and regular code review processes to prevent debt accumulation."
]
}