{ "generated_at": "2026-04-27T18:39:05.636749", "project_root": "/tmp/tp", "summary": { "total_files": 9, "total_nloc": 26, "total_functions": 9, "avg_system_ccn": 1.78, "system_risk_level": "LOW", "recommended_system_strategy": "KEEP", "dependency_cycles_count": 0 }, "dependency_cycles": [], "decisions": [ { "module": "service/routes", "risk_level": "MEDIUM", "strategy": "REFACTOR", "priority": 800, "reasons": [ "Критическая нестабильность: I=1.00 (порог 0.9)" ] }, { "module": "ui_widget", "risk_level": "MEDIUM", "strategy": "REFACTOR", "priority": 800, "reasons": [ "Критическая нестабильность: I=1.00 (порог 0.9)" ] }, { "module": "", "risk_level": "LOW", "strategy": "KEEP", "priority": 980, "reasons": [] }, { "module": "utils", "risk_level": "LOW", "strategy": "KEEP", "priority": 980, "reasons": [] }, { "module": "database", "risk_level": "LOW", "strategy": "KEEP", "priority": 990, "reasons": [] }, { "module": "service/database", "risk_level": "LOW", "strategy": "KEEP", "priority": 990, "reasons": [] } ], "modules": { "": { "files": [ "/tmp/tp/config.js" ], "language": "mixed", "total_nloc": 0, "total_functions": 0, "avg_ccn": 0.0, "max_ccn": 0, "heavy_functions_count": 0, "heavy_functions_ratio": 0.0, "coupling_out": 0, "coupling_in": 2, "instability": 0.0, "has_cycles": false, "dependencies": [], "dependents": [ "service/database", "service/routes" ], "functions": [] }, "database": { "files": [ "/tmp/tp/database/DatabaseManager.cpp", "/tmp/tp/database/DatabaseManager.h" ], "language": "mixed", "total_nloc": 0, "total_functions": 0, "avg_ccn": 0.0, "max_ccn": 0, "heavy_functions_count": 0, "heavy_functions_ratio": 0.0, "coupling_out": 1, "coupling_in": 1, "instability": 0.5, "has_cycles": false, "dependencies": [ "database", "utils" ], "dependents": [ "ui_widget" ], "functions": [] }, "service/database": { "files": [ "/tmp/tp/service/database/db.js" ], "language": "mixed", "total_nloc": 3, "total_functions": 2, "avg_ccn": 1.5, "max_ccn": 2, "heavy_functions_count": 0, "heavy_functions_ratio": 0.0, "coupling_out": 1, "coupling_in": 1, "instability": 0.5, "has_cycles": false, "dependencies": [ "" ], "dependents": [ "service/routes" ], "functions": [ { "name": "query", "file": "/tmp/tp/service/database/db.js", "line": 3, "ccn": 2, "nloc": 2, "params": 2 }, { "name": "if", "file": "/tmp/tp/service/database/db.js", "line": 4, "ccn": 1, "nloc": 1, "params": 1 } ] }, "service/routes": { "files": [ "/tmp/tp/service/routes/auth.js" ], "language": "mixed", "total_nloc": 23, "total_functions": 7, "avg_ccn": 1.86, "max_ccn": 7, "heavy_functions_count": 0, "heavy_functions_ratio": 0.0, "coupling_out": 2, "coupling_in": 0, "instability": 1.0, "has_cycles": false, "dependencies": [ "", "service/database" ], "dependents": [], "functions": [ { "name": "authenticate", "file": "/tmp/tp/service/routes/auth.js", "line": 3, "ccn": 7, "nloc": 17, "params": 2 }, { "name": "if", "file": "/tmp/tp/service/routes/auth.js", "line": 6, "ccn": 1, "nloc": 1, "params": 1 }, { "name": "if", "file": "/tmp/tp/service/routes/auth.js", "line": 9, "ccn": 1, "nloc": 1, "params": 1 }, { "name": "if", "file": "/tmp/tp/service/routes/auth.js", "line": 10, "ccn": 1, "nloc": 1, "params": 1 }, { "name": "if", "file": "/tmp/tp/service/routes/auth.js", "line": 10, "ccn": 1, "nloc": 1, "params": 1 }, { "name": "if", "file": "/tmp/tp/service/routes/auth.js", "line": 13, "ccn": 1, "nloc": 1, "params": 1 }, { "name": "catch", "file": "/tmp/tp/service/routes/auth.js", "line": 17, "ccn": 1, "nloc": 1, "params": 1 } ] }, "ui_widget": { "files": [ "/tmp/tp/ui_widget/UserWidget.cpp", "/tmp/tp/ui_widget/UserWidget.h" ], "language": "mixed", "total_nloc": 0, "total_functions": 0, "avg_ccn": 0.0, "max_ccn": 0, "heavy_functions_count": 0, "heavy_functions_ratio": 0.0, "coupling_out": 2, "coupling_in": 0, "instability": 1.0, "has_cycles": false, "dependencies": [ "database", "ui_widget", "utils" ], "dependents": [], "functions": [] }, "utils": { "files": [ "/tmp/tp/utils/Logger.cpp", "/tmp/tp/utils/Logger.h" ], "language": "mixed", "total_nloc": 0, "total_functions": 0, "avg_ccn": 0.0, "max_ccn": 0, "heavy_functions_count": 0, "heavy_functions_ratio": 0.0, "coupling_out": 0, "coupling_in": 2, "instability": 0.0, "has_cycles": false, "dependencies": [ "utils" ], "dependents": [ "database", "ui_widget" ], "functions": [] } } }