-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcoverage.json
More file actions
1 lines (1 loc) · 269 KB
/
Copy pathcoverage.json
File metadata and controls
1 lines (1 loc) · 269 KB
1
{"meta": {"format": 3, "version": "7.13.1", "timestamp": "2026-03-30T05:23:50.713517", "branch_coverage": false, "show_contexts": false}, "files": {"src\\spark\\__init__.py": {"executed_lines": [3, 4, 6, 7, 9], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 4, 6, 7, 9], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 6, 7, 9], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cache.py": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 21, 22, 24, 25, 27, 28, 29, 31, 32, 37, 39, 40, 42, 43, 45, 46, 47, 57, 58, 59, 62, 65, 66, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 84, 86, 87, 88, 89, 90, 91, 95, 97, 98, 103, 105, 106, 107, 108, 109, 111, 115, 116, 117, 119, 121, 122, 124, 126, 127, 128, 129, 130, 132, 133, 135, 140, 143, 150, 151, 152, 154, 155, 157, 158, 159, 161, 162, 163, 165, 166, 168, 170, 171, 172, 174, 176, 177, 178, 180, 182, 183, 185, 197, 199, 200, 202, 203, 204, 205, 206, 208, 210, 211, 213, 214, 215, 216, 217, 218, 219, 222, 225, 226, 227, 228, 229, 230, 231, 232, 235, 241, 243, 245, 246, 247, 248, 249, 250, 251, 252, 253, 255, 257, 258, 259, 260, 262, 264, 267, 269, 272, 274, 275, 277, 288, 289, 290, 291, 293, 294, 295, 296, 299, 301, 304, 305, 313, 315, 317, 319, 321, 323, 324, 325, 327, 328, 329, 331, 332, 333, 334, 339, 340, 341, 342, 343, 344, 348, 350, 352, 355, 356, 357, 358, 359, 360, 362, 367, 368, 370, 372, 373, 375, 376, 377, 379, 380, 381, 384, 385, 386, 387, 388, 390, 391, 393, 394, 395, 397, 399, 401, 408, 409, 411, 412, 413, 415, 416, 419, 420, 421, 423, 424, 426, 427, 430, 431, 433, 434, 439, 440, 446, 447, 448, 449, 453, 455], "summary": {"covered_lines": 250, "num_statements": 294, "percent_covered": 85.03401360544218, "percent_covered_display": "85", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 85.03401360544218, "percent_statements_covered_display": "85"}, "missing_lines": [34, 36, 41, 48, 49, 51, 53, 54, 55, 56, 80, 82, 92, 93, 136, 137, 220, 221, 233, 234, 300, 307, 308, 309, 310, 311, 335, 337, 345, 346, 363, 364, 417, 425, 428, 435, 436, 437, 441, 442, 443, 444, 450, 451], "excluded_lines": [], "functions": {"_CacheFileLock.__init__": {"executed_lines": [21, 22], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "_CacheFileLock.__enter__": {"executed_lines": [25, 27, 28, 29, 31, 32, 37], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [34, 36], "excluded_lines": [], "start_line": 24}, "_CacheFileLock.__exit__": {"executed_lines": [40, 42, 43, 45, 46, 47, 57, 58, 59], "summary": {"covered_lines": 9, "num_statements": 17, "percent_covered": 52.94117647058823, "percent_covered_display": "53", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 52.94117647058823, "percent_statements_covered_display": "53"}, "missing_lines": [41, 48, 49, 51, 53, 54, 55, 56], "excluded_lines": [], "start_line": 39}, "CacheManifest.__init__": {"executed_lines": [66, 67, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "CacheManifest.load": {"executed_lines": [73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78"}, "missing_lines": [80, 82], "excluded_lines": [], "start_line": 71}, "CacheManifest.save": {"executed_lines": [86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [92, 93], "excluded_lines": [], "start_line": 84}, "CacheManifest.update_entry": {"executed_lines": [97, 98, 103, 105, 106, 107, 108, 109, 111, 115, 116, 117, 119], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95}, "CacheManifest.get_entry": {"executed_lines": [122], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 121}, "CacheManifest.remove_week": {"executed_lines": [126, 127, 128, 129, 130, 132, 133, 135], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [136, 137], "excluded_lines": [], "start_line": 124}, "APICache.__init__": {"executed_lines": [150, 151, 152, 154, 155, 157, 158, 159, 161, 162, 163], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143}, "APICache._acquire_lock": {"executed_lines": [166], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165}, "APICache._get_key_path": {"executed_lines": [170, 171, 172], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 168}, "APICache._get_fs_path": {"executed_lines": [176, 177, 178], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174}, "APICache._calculate_hash": {"executed_lines": [182, 183], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 180}, "APICache.get": {"executed_lines": [197, 199, 200, 202, 203, 204, 205, 206, 208, 210, 211, 213, 214, 215, 216, 217, 218, 219, 222, 225, 226, 227, 228, 229, 230, 231, 232, 235, 241], "summary": {"covered_lines": 29, "num_statements": 33, "percent_covered": 87.87878787878788, "percent_covered_display": "88", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 87.87878787878788, "percent_statements_covered_display": "88"}, "missing_lines": [220, 221, 233, 234], "excluded_lines": [], "start_line": 185}, "APICache.has_entry": {"executed_lines": [245, 246, 247, 248, 249, 250, 251, 252, 253], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 243}, "APICache.get_entry_info": {"executed_lines": [257, 258, 259, 260], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255}, "APICache.set": {"executed_lines": [264, 267, 269, 272, 274, 275, 277, 288, 289, 290, 291, 293, 294, 295, 296, 299, 301, 304, 305], "summary": {"covered_lines": 19, "num_statements": 25, "percent_covered": 76.0, "percent_covered_display": "76", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 76.0, "percent_statements_covered_display": "76"}, "missing_lines": [300, 307, 308, 309, 310, 311], "excluded_lines": [], "start_line": 262}, "APICache.prune": {"executed_lines": [315, 317, 319, 321, 323, 324, 325, 327, 328, 329, 331, 332, 333, 334, 339, 340, 341, 342, 343, 344, 348], "summary": {"covered_lines": 21, "num_statements": 25, "percent_covered": 84.0, "percent_covered_display": "84", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 84.0, "percent_statements_covered_display": "84"}, "missing_lines": [335, 337, 345, 346], "excluded_lines": [], "start_line": 313}, "APICache.clear": {"executed_lines": [352, 355, 356, 357, 358, 359, 360, 362, 367, 368], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [363, 364], "excluded_lines": [], "start_line": 350}, "APICache.clear_repository_cache": {"executed_lines": [372, 373, 375, 376, 377, 379, 380, 381, 384, 385, 386, 387, 388, 390, 391, 393, 394, 395, 397], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 370}, "APICache.migrate_ai_summary_cache_keys": {"executed_lines": [401, 408, 409, 411, 412, 413, 415, 416, 419, 420, 421, 423, 424, 426, 427, 430, 431, 433, 434, 439, 440, 446, 447, 448, 449, 453, 455], "summary": {"covered_lines": 27, "num_statements": 39, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [417, 425, 428, 435, 436, 437, 441, 442, 443, 444, 450, 451], "excluded_lines": [], "start_line": 399}, "": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 24, 39, 62, 65, 71, 84, 95, 121, 124, 140, 143, 165, 168, 174, 180, 185, 243, 255, 262, 313, 350, 370, 399], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"_CacheFileLock": {"executed_lines": [21, 22, 25, 27, 28, 29, 31, 32, 37, 40, 42, 43, 45, 46, 47, 57, 58, 59], "summary": {"covered_lines": 18, "num_statements": 28, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 64.28571428571429, "percent_statements_covered_display": "64"}, "missing_lines": [34, 36, 41, 48, 49, 51, 53, 54, 55, 56], "excluded_lines": [], "start_line": 17}, "CacheManifest": {"executed_lines": [66, 67, 68, 69, 73, 74, 75, 76, 77, 78, 79, 86, 87, 88, 89, 90, 91, 97, 98, 103, 105, 106, 107, 108, 109, 111, 115, 116, 117, 119, 122, 126, 127, 128, 129, 130, 132, 133, 135], "summary": {"covered_lines": 39, "num_statements": 45, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 86.66666666666667, "percent_statements_covered_display": "87"}, "missing_lines": [80, 82, 92, 93, 136, 137], "excluded_lines": [], "start_line": 62}, "APICache": {"executed_lines": [150, 151, 152, 154, 155, 157, 158, 159, 161, 162, 163, 166, 170, 171, 172, 176, 177, 178, 182, 183, 197, 199, 200, 202, 203, 204, 205, 206, 208, 210, 211, 213, 214, 215, 216, 217, 218, 219, 222, 225, 226, 227, 228, 229, 230, 231, 232, 235, 241, 245, 246, 247, 248, 249, 250, 251, 252, 253, 257, 258, 259, 260, 264, 267, 269, 272, 274, 275, 277, 288, 289, 290, 291, 293, 294, 295, 296, 299, 301, 304, 305, 315, 317, 319, 321, 323, 324, 325, 327, 328, 329, 331, 332, 333, 334, 339, 340, 341, 342, 343, 344, 348, 352, 355, 356, 357, 358, 359, 360, 362, 367, 368, 372, 373, 375, 376, 377, 379, 380, 381, 384, 385, 386, 387, 388, 390, 391, 393, 394, 395, 397, 401, 408, 409, 411, 412, 413, 415, 416, 419, 420, 421, 423, 424, 426, 427, 430, 431, 433, 434, 439, 440, 446, 447, 448, 449, 453, 455], "summary": {"covered_lines": 158, "num_statements": 186, "percent_covered": 84.94623655913979, "percent_covered_display": "85", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 84.94623655913979, "percent_statements_covered_display": "85"}, "missing_lines": [220, 221, 233, 234, 300, 307, 308, 309, 310, 311, 335, 337, 345, 346, 363, 364, 417, 425, 428, 435, 436, 437, 441, 442, 443, 444, 450, 451], "excluded_lines": [], "start_line": 140}, "": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 17, 20, 24, 39, 62, 65, 71, 84, 95, 121, 124, 140, 143, 165, 168, 174, 180, 185, 243, 255, 262, 313, 350, 370, 399], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cache_manager.py": {"executed_lines": [11, 12, 14, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 28, 29, 30, 31, 34, 37, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62, 63, 65, 94, 102, 110, 118, 126, 134, 142, 150, 158, 166, 186, 189, 192, 194, 195, 197, 198, 200, 201, 203, 206, 209, 212, 215, 218, 221, 223, 242, 243, 244, 246, 247, 248, 249, 251, 252, 253, 255, 260, 261, 262, 269, 270, 277, 278, 279, 280, 283, 284, 291, 294, 297, 299, 300, 301, 302, 303, 305, 314, 315], "summary": {"covered_lines": 91, "num_statements": 121, "percent_covered": 75.20661157024793, "percent_covered_display": "75", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 75.20661157024793, "percent_statements_covered_display": "75"}, "missing_lines": [83, 84, 87, 90, 92, 100, 108, 116, 124, 132, 140, 148, 156, 164, 187, 190, 204, 207, 210, 213, 216, 219, 256, 257, 263, 264, 265, 266, 295, 316], "excluded_lines": [], "functions": {"RefreshSummary.__init__": {"executed_lines": [26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "CacheManager.__init__": {"executed_lines": [51, 52, 53, 54, 55], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "CacheManager.api_calls": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62}, "CacheManager.needs_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [83, 84, 87, 90, 92], "excluded_lines": [], "start_line": 65}, "CacheManager.refresh_commit_counts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [100], "excluded_lines": [], "start_line": 94}, "CacheManager.refresh_languages": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [108], "excluded_lines": [], "start_line": 102}, "CacheManager.refresh_commits_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [116], "excluded_lines": [], "start_line": 110}, "CacheManager.refresh_readme": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124], "excluded_lines": [], "start_line": 118}, "CacheManager.refresh_quality_indicators": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [132], "excluded_lines": [], "start_line": 126}, "CacheManager.refresh_dependency_files": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [140], "excluded_lines": [], "start_line": 134}, "CacheManager.refresh_ai_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [148], "excluded_lines": [], "start_line": 142}, "CacheManager.refresh_pull_request_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [156], "excluded_lines": [], "start_line": 150}, "CacheManager.refresh_security_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [164], "excluded_lines": [], "start_line": 158}, "CacheManager.refresh_repository": {"executed_lines": [186, 189, 192, 194, 195, 197, 198, 200, 201, 203, 206, 209, 212, 215, 218, 221], "summary": {"covered_lines": 16, "num_statements": 24, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [187, 190, 204, 207, 210, 213, 216, 219], "excluded_lines": [], "start_line": 166}, "CacheManager.refresh_user_data": {"executed_lines": [242, 243, 244, 246, 247, 248, 249, 251, 252, 253, 255, 260, 261, 262, 269, 270, 277, 278, 279, 280, 283, 284, 291, 294, 297, 299, 300, 301, 302, 303, 305], "summary": {"covered_lines": 31, "num_statements": 38, "percent_covered": 81.57894736842105, "percent_covered_display": "82", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 81.57894736842105, "percent_statements_covered_display": "82"}, "missing_lines": [256, 257, 263, 264, 265, 266, 295], "excluded_lines": [], "start_line": 223}, "CacheManager._is_excluded_repo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [316], "excluded_lines": [], "start_line": 315}, "": {"executed_lines": [11, 12, 14, 15, 16, 17, 18, 19, 20, 23, 25, 34, 37, 57, 58, 61, 62, 65, 94, 102, 110, 118, 126, 134, 142, 150, 158, 166, 223, 314, 315], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RefreshSummary": {"executed_lines": [26, 27, 28, 29, 30, 31], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23}, "CacheManager": {"executed_lines": [51, 52, 53, 54, 55, 59, 63, 186, 189, 192, 194, 195, 197, 198, 200, 201, 203, 206, 209, 212, 215, 218, 221, 242, 243, 244, 246, 247, 248, 249, 251, 252, 253, 255, 260, 261, 262, 269, 270, 277, 278, 279, 280, 283, 284, 291, 294, 297, 299, 300, 301, 302, 303, 305], "summary": {"covered_lines": 54, "num_statements": 84, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 64.28571428571429, "percent_statements_covered_display": "64"}, "missing_lines": [83, 84, 87, 90, 92, 100, 108, 116, 124, 132, 140, 148, 156, 164, 187, 190, 204, 207, 210, 213, 216, 219, 256, 257, 263, 264, 265, 266, 295, 316], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [11, 12, 14, 15, 16, 17, 18, 19, 20, 23, 25, 34, 37, 57, 58, 61, 62, 65, 94, 102, 110, 118, 126, 134, 142, 150, 158, 166, 223, 314, 315], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cache_refresh_executor.py": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 26, 29, 32, 33, 34, 35, 36, 37, 38, 39, 41, 100, 138, 161, 191, 255, 308, 392, 428], "summary": {"covered_lines": 32, "num_statements": 282, "percent_covered": 11.347517730496454, "percent_covered_display": "11", "missing_lines": 250, "excluded_lines": 0, "percent_statements_covered": 11.347517730496454, "percent_statements_covered_display": "11"}, "missing_lines": [42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 88, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 107, 108, 116, 117, 123, 124, 125, 133, 134, 135, 136, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 155, 156, 157, 158, 159, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 185, 186, 187, 188, 189, 192, 193, 194, 195, 196, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212, 213, 214, 215, 217, 218, 219, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 243, 249, 250, 251, 252, 253, 256, 257, 258, 259, 260, 262, 263, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 287, 288, 289, 290, 291, 292, 293, 294, 296, 302, 303, 304, 305, 306, 309, 310, 311, 312, 313, 314, 316, 317, 319, 320, 321, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 336, 337, 338, 340, 341, 342, 343, 344, 349, 350, 351, 352, 354, 355, 357, 368, 369, 379, 384, 385, 387, 388, 389, 390, 393, 394, 395, 396, 397, 399, 400, 408, 409, 415, 421, 422, 423, 424, 425, 426, 429, 430, 431, 432, 433, 435, 436, 444, 445, 451, 457, 458, 459, 460, 461, 462], "excluded_lines": [], "functions": {"CacheRefreshExecutor.__init__": {"executed_lines": [33, 34, 35, 36, 37, 38, 39], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "CacheRefreshExecutor.refresh_commit_counts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 88, 94, 95, 96, 97, 98], "excluded_lines": [], "start_line": 41}, "CacheRefreshExecutor.refresh_commits_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [101, 102, 103, 104, 105, 107, 108, 116, 117, 123, 124, 125, 133, 134, 135, 136], "excluded_lines": [], "start_line": 100}, "CacheRefreshExecutor.refresh_languages": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 155, 156, 157, 158, 159], "excluded_lines": [], "start_line": 138}, "CacheRefreshExecutor.refresh_readme": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 185, 186, 187, 188, 189], "excluded_lines": [], "start_line": 161}, "CacheRefreshExecutor.refresh_quality_indicators": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [192, 193, 194, 195, 196, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212, 213, 214, 215, 217, 218, 219, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 243, 249, 250, 251, 252, 253], "excluded_lines": [], "start_line": 191}, "CacheRefreshExecutor.refresh_dependency_files": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [256, 257, 258, 259, 260, 262, 263, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 287, 288, 289, 290, 291, 292, 293, 294, 296, 302, 303, 304, 305, 306], "excluded_lines": [], "start_line": 255}, "CacheRefreshExecutor.refresh_ai_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [309, 310, 311, 312, 313, 314, 316, 317, 319, 320, 321, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 336, 337, 338, 340, 341, 342, 343, 344, 349, 350, 351, 352, 354, 355, 357, 368, 369, 379, 384, 385, 387, 388, 389, 390], "excluded_lines": [], "start_line": 308}, "CacheRefreshExecutor.refresh_pull_request_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [393, 394, 395, 396, 397, 399, 400, 408, 409, 415, 421, 422, 423, 424, 425, 426], "excluded_lines": [], "start_line": 392}, "CacheRefreshExecutor.refresh_security_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [429, 430, 431, 432, 433, 435, 436, 444, 445, 451, 457, 458, 459, 460, 461, 462], "excluded_lines": [], "start_line": 428}, "": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 26, 29, 32, 41, 100, 138, 161, 191, 255, 308, 392, 428], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RefreshResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "CacheRefreshExecutor": {"executed_lines": [33, 34, 35, 36, 37, 38, 39], "summary": {"covered_lines": 7, "num_statements": 257, "percent_covered": 2.7237354085603114, "percent_covered_display": "3", "missing_lines": 250, "excluded_lines": 0, "percent_statements_covered": 2.7237354085603114, "percent_statements_covered_display": "3"}, "missing_lines": [42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 88, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 107, 108, 116, 117, 123, 124, 125, 133, 134, 135, 136, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 155, 156, 157, 158, 159, 162, 163, 164, 165, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 185, 186, 187, 188, 189, 192, 193, 194, 195, 196, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212, 213, 214, 215, 217, 218, 219, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 237, 243, 249, 250, 251, 252, 253, 256, 257, 258, 259, 260, 262, 263, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 287, 288, 289, 290, 291, 292, 293, 294, 296, 302, 303, 304, 305, 306, 309, 310, 311, 312, 313, 314, 316, 317, 319, 320, 321, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 336, 337, 338, 340, 341, 342, 343, 344, 349, 350, 351, 352, 354, 355, 357, 368, 369, 379, 384, 385, 387, 388, 389, 390, 393, 394, 395, 396, 397, 399, 400, 408, 409, 415, 421, 422, 423, 424, 425, 426, 429, 430, 431, 432, 433, 435, 436, 444, 445, 451, 457, 458, 459, 460, 461, 462], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 26, 29, 32, 41, 100, 138, 161, 191, 255, 308, 392, 428], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cache_refresh_strategy.py": {"executed_lines": [3, 4, 5, 8, 16, 19, 21, 22, 24, 27], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [23, 35], "excluded_lines": [], "functions": {"get_refresh_categories": {"executed_lines": [21, 22, 24], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [23], "excluded_lines": [], "start_line": 19}, "should_refresh_repository": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [35], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [3, 4, 5, 8, 16, 19, 27], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 5, 8, 16, 19, 21, 22, 24, 27], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [23, 35], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cache_repository_filter.py": {"executed_lines": [3, 6, 23], "summary": {"covered_lines": 3, "num_statements": 14, "percent_covered": 21.428571428571427, "percent_covered_display": "21", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 21.428571428571427, "percent_statements_covered_display": "21"}, "missing_lines": [8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 25], "excluded_lines": [], "functions": {"is_excluded_repo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 13, 14, 16, 17, 18, 20], "excluded_lines": [], "start_line": 6}, "filter_refreshable_repositories": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25], "excluded_lines": [], "start_line": 23}, "": {"executed_lines": [3, 6, 23], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 6, 23], "summary": {"covered_lines": 3, "num_statements": 14, "percent_covered": 21.428571428571427, "percent_covered_display": "21", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 21.428571428571427, "percent_statements_covered_display": "21"}, "missing_lines": [8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 25], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cache_status.py": {"executed_lines": [3, 5, 6, 8, 9, 12, 15, 21, 23, 120, 203, 227, 267, 268], "summary": {"covered_lines": 14, "num_statements": 111, "percent_covered": 12.612612612612613, "percent_covered_display": "13", "missing_lines": 97, "excluded_lines": 0, "percent_statements_covered": 12.612612612612613, "percent_statements_covered_display": "13"}, "missing_lines": [32, 33, 34, 35, 36, 38, 39, 41, 50, 52, 53, 54, 55, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 73, 74, 75, 77, 78, 79, 80, 81, 83, 91, 92, 95, 96, 98, 99, 100, 103, 104, 105, 106, 108, 140, 142, 144, 145, 146, 147, 148, 149, 150, 153, 154, 155, 163, 165, 167, 168, 169, 176, 182, 183, 184, 186, 192, 195, 197, 198, 211, 212, 214, 215, 217, 222, 235, 236, 238, 239, 248, 253, 254, 255, 256, 258, 274, 275, 276, 278, 279, 280, 282, 283, 284, 286], "excluded_lines": [], "functions": {"CacheStatusTracker.__init__": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "CacheStatusTracker.get_repository_cache_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 33, 34, 35, 36, 38, 39, 41, 50, 52, 53, 54, 55, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 73, 74, 75, 77, 78, 79, 80, 81, 83, 91, 92, 95, 96, 98, 99, 100, 103, 104, 105, 106, 108], "excluded_lines": [], "start_line": 23}, "CacheStatusTracker.update_repositories_cache_with_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [140, 142, 144, 145, 146, 147, 148, 149, 150, 153, 154, 155, 163, 165, 167, 168, 169, 176, 182, 183, 184, 186, 192, 195, 197, 198], "excluded_lines": [], "start_line": 120}, "CacheStatusTracker.get_repositories_needing_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [211, 212, 214, 215, 217, 222], "excluded_lines": [], "start_line": 203}, "CacheStatusTracker.get_cache_statistics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [235, 236, 238, 239, 248, 253, 254, 255, 256, 258], "excluded_lines": [], "start_line": 227}, "CacheStatusTracker._is_excluded_repo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [274, 275, 276, 278, 279, 280, 282, 283, 284, 286], "excluded_lines": [], "start_line": 268}, "": {"executed_lines": [3, 5, 6, 8, 9, 12, 15, 23, 120, 203, 227, 267, 268], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"CacheStatusTracker": {"executed_lines": [21], "summary": {"covered_lines": 1, "num_statements": 98, "percent_covered": 1.0204081632653061, "percent_covered_display": "1", "missing_lines": 97, "excluded_lines": 0, "percent_statements_covered": 1.0204081632653061, "percent_statements_covered_display": "1"}, "missing_lines": [32, 33, 34, 35, 36, 38, 39, 41, 50, 52, 53, 54, 55, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 73, 74, 75, 77, 78, 79, 80, 81, 83, 91, 92, 95, 96, 98, 99, 100, 103, 104, 105, 106, 108, 140, 142, 144, 145, 146, 147, 148, 149, 150, 153, 154, 155, 163, 165, 167, 168, 169, 176, 182, 183, 184, 186, 192, 195, 197, 198, 211, 212, 214, 215, 217, 222, 235, 236, 238, 239, 248, 253, 254, 255, 256, 258, 274, 275, 276, 278, 279, 280, 282, 283, 284, 286], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [3, 5, 6, 8, 9, 12, 15, 23, 120, 203, 227, 267, 268], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\calculator.py": {"executed_lines": [3, 4, 5, 6, 9, 12, 19, 20, 21, 22, 24, 30, 32, 38, 39, 41, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 63, 64, 66, 78, 86, 87, 88, 91, 98, 100, 108, 117, 118, 121, 122, 123, 124, 125, 126, 128, 132, 133, 134, 137, 140, 141, 142, 145, 146, 151, 152, 153, 154, 155, 163, 164, 167, 169, 171, 177, 181, 182, 184, 185, 187, 193, 194, 195, 196, 199, 200, 201, 202, 204, 205, 207, 216, 217, 218, 219, 220, 221, 222, 223, 225, 227, 233, 241, 242, 243, 244, 245, 247, 250, 251, 254, 255, 258, 259, 260, 261, 263, 266, 268, 276, 282, 283, 285, 286, 289, 290, 291, 292, 299, 302, 303, 304, 305, 307, 312, 314, 316, 322, 323, 331, 332, 333, 334, 335, 338, 341, 342, 343, 345, 346, 347, 352, 355, 356, 357, 358, 360, 362, 363, 364, 365, 368, 378, 380, 387, 389, 390, 391, 393, 394, 395, 397, 398, 399, 404, 406, 407, 408, 409, 410, 411, 412, 413, 417, 419, 421, 422, 424, 425, 426, 427, 428, 430, 431, 432, 433, 435, 436, 437, 439, 441, 443, 445, 446, 447, 448, 450, 451, 452, 453, 454, 456, 458, 460, 461, 464, 465, 470, 471, 474, 475, 477, 479, 485, 486, 488, 494, 496, 497, 498, 499, 500, 504, 506, 518, 528, 529, 531, 532, 539, 540, 548, 555, 556, 564, 571, 572, 574, 575, 577, 578, 582, 584, 585, 587, 588, 589, 591, 592, 593, 594, 595, 597, 598, 599, 602, 604, 607, 608, 610, 612, 613, 615, 617, 618, 619, 622, 623, 624, 626, 628, 633, 634, 637, 638, 645, 646, 647, 648, 652, 660, 676, 685, 688, 689, 691, 692, 694, 695, 696, 698, 699, 701, 702, 704, 705, 706, 707, 708, 709, 716, 717, 718, 719, 720, 721, 722, 724, 725, 726, 727, 728, 729, 730, 732, 733, 734, 735, 736, 737, 744, 755, 756, 775, 778, 779, 780, 781, 783, 785, 786, 803, 818, 819, 820, 822, 824, 825, 828, 829, 839, 840, 850, 853, 854, 856, 858, 860, 861, 862, 863, 865, 866, 867, 869, 877], "summary": {"covered_lines": 357, "num_statements": 392, "percent_covered": 91.07142857142857, "percent_covered_display": "91", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 91.07142857142857, "percent_statements_covered_display": "91"}, "missing_lines": [129, 138, 157, 159, 234, 287, 349, 350, 367, 370, 371, 372, 373, 375, 401, 402, 415, 462, 466, 467, 468, 472, 502, 579, 580, 600, 605, 620, 635, 650, 686, 776, 804, 859, 864], "excluded_lines": [], "functions": {"StatsCalculator.__init__": {"executed_lines": [19, 20, 21, 22], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "StatsCalculator.add_commits": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "StatsCalculator.add_languages": {"executed_lines": [38, 39], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "StatsCalculator.calculate_statistics": {"executed_lines": [48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 63, 64, 66], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41}, "StatsCalculator.calculate_spark_score": {"executed_lines": [86, 87, 88, 91, 98, 100], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78}, "StatsCalculator._calculate_consistency_score": {"executed_lines": [117, 118, 121, 122, 123, 124, 125, 126, 128, 132, 133, 134, 137, 140, 141, 142, 145, 146, 151, 152, 153, 154, 155, 163, 164, 167, 169], "summary": {"covered_lines": 27, "num_statements": 31, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 87.09677419354838, "percent_statements_covered_display": "87"}, "missing_lines": [129, 138, 157, 159], "excluded_lines": [], "start_line": 108}, "StatsCalculator._calculate_volume_score": {"executed_lines": [177, 181, 182, 184, 185], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 171}, "StatsCalculator._calculate_collaboration_score": {"executed_lines": [193, 194, 195, 196, 199, 200, 201, 202, 204, 205], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 187}, "StatsCalculator.calculate_lightning_rating": {"executed_lines": [216, 217, 218, 219, 220, 221, 222, 223, 225], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207}, "StatsCalculator.analyze_time_patterns": {"executed_lines": [233, 241, 242, 243, 244, 245, 247, 250, 251, 254, 255, 258, 259, 260, 261, 263, 266, 268], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95"}, "missing_lines": [234], "excluded_lines": [], "start_line": 227}, "StatsCalculator.aggregate_languages": {"executed_lines": [282, 283, 285, 286, 289, 290, 291, 292, 299, 302, 303, 304, 305, 307, 312, 314], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [287], "excluded_lines": [], "start_line": 276}, "StatsCalculator.calculate_streaks": {"executed_lines": [322, 323, 331, 332, 333, 334, 335, 338, 341, 342, 343, 345, 346, 347, 352, 355, 356, 357, 358, 360, 362, 363, 364, 365, 368, 378, 380], "summary": {"covered_lines": 27, "num_statements": 35, "percent_covered": 77.14285714285714, "percent_covered_display": "77", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 77.14285714285714, "percent_statements_covered_display": "77"}, "missing_lines": [349, 350, 367, 370, 371, 372, 373, 375], "excluded_lines": [], "start_line": 316}, "StatsCalculator._calculate_learning_streaks": {"executed_lines": [389, 390, 391, 393, 394, 395, 397, 398, 399, 404, 406, 407, 408, 409, 410, 411, 412, 413, 417], "summary": {"covered_lines": 19, "num_statements": 22, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.36363636363636, "percent_statements_covered_display": "86"}, "missing_lines": [401, 402, 415], "excluded_lines": [], "start_line": 387}, "StatsCalculator._extract_language_introduction_dates": {"executed_lines": [421, 422, 424, 425, 426, 427, 428, 430, 431, 432, 433, 435, 436, 437, 439], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 419}, "StatsCalculator._build_repo_language_map": {"executed_lines": [443, 445, 446, 447, 448, 450, 451, 452, 453, 454, 456], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 441}, "StatsCalculator._extract_commit_language": {"executed_lines": [460, 461, 464, 465, 470, 471, 474, 475, 477], "summary": {"covered_lines": 9, "num_statements": 14, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 64.28571428571429, "percent_statements_covered_display": "64"}, "missing_lines": [462, 466, 467, 468, 472], "excluded_lines": [], "start_line": 458}, "StatsCalculator.calculate_fun_stats": {"executed_lines": [485, 486, 488, 494, 496, 497, 498, 499, 500, 504, 506], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [502], "excluded_lines": [], "start_line": 479}, "StatsCalculator.calculate_release_cadence": {"executed_lines": [528, 529, 531, 532, 539, 540, 548, 555, 556, 564], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 518}, "StatsCalculator._parse_iso_datetime": {"executed_lines": [574, 575, 577, 578], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [579, 580], "excluded_lines": [], "start_line": 572}, "StatsCalculator._calculate_account_age_days": {"executed_lines": [584, 585, 587, 588, 589, 591, 592, 593, 594, 595, 597, 598, 599, 602, 604, 607, 608], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89"}, "missing_lines": [600, 605], "excluded_lines": [], "start_line": 582}, "StatsCalculator._extract_commit_datetime": {"executed_lines": [612, 613], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 610}, "StatsCalculator._extract_commit_cadence_record": {"executed_lines": [617, 618, 619, 622, 623, 624, 626], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [620], "excluded_lines": [], "start_line": 615}, "StatsCalculator._extract_repository_activity_record": {"executed_lines": [633, 634, 637, 638, 645, 646, 647, 648], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [635, 650], "excluded_lines": [], "start_line": 628}, "StatsCalculator._empty_release_cadence": {"executed_lines": [660], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 652}, "StatsCalculator._build_release_cadence_series": {"executed_lines": [685, 688, 689, 691, 692, 694, 695, 696, 698, 699, 701, 702, 704, 705, 706, 707, 708, 709, 716, 724, 725, 726, 727, 728, 729, 730, 732, 733, 734, 735, 736, 737, 744], "summary": {"covered_lines": 33, "num_statements": 34, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.05882352941177, "percent_statements_covered_display": "97"}, "missing_lines": [686], "excluded_lines": [], "start_line": 676}, "StatsCalculator._build_release_cadence_series.previous_month_start": {"executed_lines": [717, 718, 719, 720, 721, 722], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 716}, "StatsCalculator.calculate_commit_size": {"executed_lines": [775, 778, 779, 780, 781, 783], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [776], "excluded_lines": [], "start_line": 756}, "StatsCalculator.calculate_repository_commit_metrics": {"executed_lines": [803, 818, 819, 820, 822, 824, 825, 828, 829, 839, 840, 850, 853, 854, 856, 869, 877], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94"}, "missing_lines": [804], "excluded_lines": [], "start_line": 786}, "StatsCalculator.calculate_repository_commit_metrics.percentile": {"executed_lines": [858, 860, 861, 862, 863, 865, 866, 867], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [859, 864], "excluded_lines": [], "start_line": 856}, "": {"executed_lines": [3, 4, 5, 6, 9, 12, 24, 32, 41, 78, 108, 171, 187, 207, 227, 276, 316, 387, 419, 441, 458, 479, 518, 571, 572, 582, 610, 615, 628, 652, 676, 755, 756, 785, 786], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"StatsCalculator": {"executed_lines": [19, 20, 21, 22, 30, 38, 39, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 63, 64, 66, 86, 87, 88, 91, 98, 100, 117, 118, 121, 122, 123, 124, 125, 126, 128, 132, 133, 134, 137, 140, 141, 142, 145, 146, 151, 152, 153, 154, 155, 163, 164, 167, 169, 177, 181, 182, 184, 185, 193, 194, 195, 196, 199, 200, 201, 202, 204, 205, 216, 217, 218, 219, 220, 221, 222, 223, 225, 233, 241, 242, 243, 244, 245, 247, 250, 251, 254, 255, 258, 259, 260, 261, 263, 266, 268, 282, 283, 285, 286, 289, 290, 291, 292, 299, 302, 303, 304, 305, 307, 312, 314, 322, 323, 331, 332, 333, 334, 335, 338, 341, 342, 343, 345, 346, 347, 352, 355, 356, 357, 358, 360, 362, 363, 364, 365, 368, 378, 380, 389, 390, 391, 393, 394, 395, 397, 398, 399, 404, 406, 407, 408, 409, 410, 411, 412, 413, 417, 421, 422, 424, 425, 426, 427, 428, 430, 431, 432, 433, 435, 436, 437, 439, 443, 445, 446, 447, 448, 450, 451, 452, 453, 454, 456, 460, 461, 464, 465, 470, 471, 474, 475, 477, 485, 486, 488, 494, 496, 497, 498, 499, 500, 504, 506, 528, 529, 531, 532, 539, 540, 548, 555, 556, 564, 574, 575, 577, 578, 584, 585, 587, 588, 589, 591, 592, 593, 594, 595, 597, 598, 599, 602, 604, 607, 608, 612, 613, 617, 618, 619, 622, 623, 624, 626, 633, 634, 637, 638, 645, 646, 647, 648, 660, 685, 688, 689, 691, 692, 694, 695, 696, 698, 699, 701, 702, 704, 705, 706, 707, 708, 709, 716, 717, 718, 719, 720, 721, 722, 724, 725, 726, 727, 728, 729, 730, 732, 733, 734, 735, 736, 737, 744, 775, 778, 779, 780, 781, 783, 803, 818, 819, 820, 822, 824, 825, 828, 829, 839, 840, 850, 853, 854, 856, 858, 860, 861, 862, 863, 865, 866, 867, 869, 877], "summary": {"covered_lines": 322, "num_statements": 357, "percent_covered": 90.19607843137256, "percent_covered_display": "90", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 90.19607843137256, "percent_statements_covered_display": "90"}, "missing_lines": [129, 138, 157, 159, 234, 287, 349, 350, 367, 370, 371, 372, 373, 375, 401, 402, 415, 462, 466, 467, 468, 472, 502, 579, 580, 600, 605, 620, 635, 650, 686, 776, 804, 859, 864], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [3, 4, 5, 6, 9, 12, 24, 32, 41, 78, 108, 171, 187, 207, 227, 276, 316, 387, 419, 441, 458, 479, 518, 571, 572, 582, 610, 615, 628, 652, 676, 755, 756, 785, 786], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cli.py": {"executed_lines": [3, 4, 6, 7, 16, 19, 21, 23, 26, 27, 28, 30, 33, 34, 49], "summary": {"covered_lines": 15, "num_statements": 28, "percent_covered": 53.57142857142857, "percent_covered_display": "54", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 53.57142857142857, "percent_statements_covered_display": "54"}, "missing_lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 50], "excluded_lines": [], "functions": {"main": {"executed_lines": [21, 23, 26, 27, 28, 30, 33, 34], "summary": {"covered_lines": 8, "num_statements": 20, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "excluded_lines": [], "start_line": 19}, "": {"executed_lines": [3, 4, 6, 7, 16, 19, 49], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [50], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 6, 7, 16, 19, 21, 23, 26, 27, 28, 30, 33, 34, 49], "summary": {"covered_lines": 15, "num_statements": 28, "percent_covered": 53.57142857142857, "percent_covered_display": "54", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 53.57142857142857, "percent_statements_covered_display": "54"}, "missing_lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 50], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cli_argument_builders.py": {"executed_lines": [3, 6, 34, 36, 41, 43, 44, 45, 46, 47, 48, 49, 50, 53, 54, 58, 59, 65, 71, 76, 81, 82, 88, 93, 100, 101, 102, 103, 109, 115, 120, 126, 127, 132, 137, 144, 145, 146, 147, 153, 159, 164, 169, 172, 173, 174, 180, 188, 189, 190, 191, 192, 200, 201, 202, 203, 208, 209, 210, 215, 220, 225, 230, 231, 234, 235, 239, 240, 245, 250], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"build_main_parser": {"executed_lines": [36, 41, 43, 44, 45, 46, 47, 48, 49, 50], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "_add_unified_parser": {"executed_lines": [54, 58, 59, 65, 71, 76, 81, 82, 88, 93], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "_add_analyze_parser": {"executed_lines": [101, 102, 103, 109, 115, 120, 126, 127, 132, 137], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100}, "_add_generate_parser": {"executed_lines": [145, 146, 147, 153, 159, 164, 169], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144}, "_add_preview_parser": {"executed_lines": [173, 174, 180], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 172}, "_add_config_parser": {"executed_lines": [189, 190, 191, 192], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188}, "_add_cache_parser": {"executed_lines": [201, 202, 203, 208, 209, 210, 215, 220, 225, 230, 231], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 200}, "_add_refresh_parser": {"executed_lines": [235, 239, 240, 245, 250], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 234}, "": {"executed_lines": [3, 6, 34, 53, 100, 144, 172, 188, 200, 234], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 6, 34, 36, 41, 43, 44, 45, 46, 47, 48, 49, 50, 53, 54, 58, 59, 65, 71, 76, 81, 82, 88, 93, 100, 101, 102, 103, 109, 115, 120, 126, 127, 132, 137, 144, 145, 146, 147, 153, 159, 164, 169, 172, 173, 174, 180, 188, 189, 190, 191, 192, 200, 201, 202, 203, 208, 209, 210, 215, 220, 225, 230, 231, 234, 235, 239, 240, 245, 250], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cli_handlers.py": {"executed_lines": [3, 4, 5, 6, 8, 9, 12, 271, 285, 355, 577, 616, 658, 708, 738, 899], "summary": {"covered_lines": 16, "num_statements": 622, "percent_covered": 2.572347266881029, "percent_covered_display": "3", "missing_lines": 606, "excluded_lines": 0, "percent_statements_covered": 2.572347266881029, "percent_statements_covered_display": "3"}, "missing_lines": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 57, 58, 60, 61, 66, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 107, 115, 116, 117, 119, 120, 121, 122, 124, 126, 127, 128, 130, 131, 132, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 148, 149, 151, 153, 154, 155, 157, 163, 164, 166, 167, 168, 169, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 183, 184, 192, 193, 195, 196, 197, 198, 200, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 216, 217, 219, 220, 221, 222, 223, 224, 225, 227, 228, 236, 238, 239, 240, 241, 243, 244, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 261, 263, 264, 265, 267, 268, 273, 274, 275, 277, 278, 279, 281, 282, 287, 288, 289, 290, 292, 293, 294, 295, 296, 298, 299, 300, 301, 303, 304, 305, 312, 313, 314, 316, 318, 319, 320, 322, 323, 325, 326, 327, 328, 329, 330, 331, 332, 333, 335, 336, 337, 338, 339, 340, 342, 344, 345, 346, 347, 348, 350, 351, 352, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 368, 369, 370, 371, 372, 374, 375, 376, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 396, 398, 399, 400, 402, 403, 404, 405, 406, 408, 409, 410, 411, 412, 414, 415, 424, 425, 426, 428, 429, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 442, 443, 445, 446, 448, 449, 450, 451, 452, 453, 455, 456, 457, 458, 459, 461, 462, 463, 464, 465, 466, 467, 468, 469, 471, 480, 481, 482, 483, 484, 485, 488, 489, 491, 499, 501, 502, 503, 504, 505, 506, 514, 516, 517, 519, 520, 522, 523, 533, 534, 535, 537, 538, 540, 541, 542, 543, 545, 546, 547, 548, 549, 551, 552, 553, 554, 557, 558, 560, 561, 562, 563, 564, 565, 567, 569, 570, 571, 573, 574, 579, 581, 582, 583, 585, 587, 588, 589, 590, 591, 593, 594, 595, 596, 598, 599, 600, 601, 602, 604, 605, 606, 608, 609, 611, 612, 613, 618, 619, 621, 622, 623, 624, 625, 626, 628, 630, 631, 632, 633, 634, 635, 636, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 650, 651, 652, 654, 655, 660, 662, 663, 665, 666, 667, 669, 670, 672, 679, 686, 688, 696, 697, 698, 700, 701, 703, 704, 705, 710, 712, 713, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 726, 727, 728, 729, 731, 733, 734, 735, 740, 741, 743, 745, 746, 747, 749, 750, 751, 752, 754, 755, 756, 757, 759, 760, 761, 762, 763, 764, 765, 766, 768, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 783, 784, 785, 786, 788, 789, 790, 792, 794, 798, 799, 801, 802, 804, 806, 807, 808, 809, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 836, 837, 839, 840, 841, 846, 847, 848, 849, 850, 851, 852, 854, 855, 857, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 887, 888, 889, 890, 891, 892, 893, 895, 896, 901, 903, 904, 906, 907, 908, 914, 915, 916, 917, 918, 920, 921, 923, 924, 925, 927, 928], "excluded_lines": [], "functions": {"handle_unified": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 177, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 177, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 57, 58, 60, 61, 66, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 107, 115, 116, 117, 119, 120, 121, 122, 124, 126, 127, 128, 130, 131, 132, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 148, 149, 151, 153, 154, 155, 157, 163, 164, 166, 167, 168, 169, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 183, 184, 192, 193, 195, 196, 197, 198, 200, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 216, 217, 219, 220, 221, 222, 223, 224, 225, 227, 228, 236, 238, 239, 240, 241, 243, 244, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 261, 263, 264, 265, 267, 268], "excluded_lines": [], "start_line": 12}, "handle_analyze": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [273, 274, 275, 277, 278, 279, 281, 282], "excluded_lines": [], "start_line": 271}, "handle_unified_analyze": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [287, 288, 289, 290, 292, 293, 294, 295, 296, 298, 299, 300, 301, 303, 304, 305, 312, 313, 314, 316, 318, 319, 320, 322, 323, 325, 326, 327, 328, 329, 330, 331, 332, 333, 335, 336, 337, 338, 339, 340, 342, 344, 345, 346, 347, 348, 350, 351, 352], "excluded_lines": [], "start_line": 285}, "handle_dated_analyze": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 368, 369, 370, 371, 372, 374, 375, 376, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 396, 398, 399, 400, 402, 403, 404, 405, 406, 408, 409, 410, 411, 412, 414, 415, 424, 425, 426, 428, 429, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 442, 443, 445, 446, 448, 449, 450, 451, 452, 453, 455, 456, 457, 458, 459, 461, 462, 463, 464, 465, 466, 467, 468, 469, 471, 480, 481, 482, 483, 484, 485, 488, 489, 491, 499, 501, 502, 503, 504, 505, 506, 514, 516, 517, 519, 520, 522, 523, 533, 534, 535, 537, 538, 540, 541, 542, 543, 545, 546, 547, 548, 549, 551, 552, 553, 554, 557, 558, 560, 561, 562, 563, 564, 565, 567, 569, 570, 571, 573, 574], "excluded_lines": [], "start_line": 355}, "handle_generate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [579, 581, 582, 583, 585, 587, 588, 589, 590, 591, 593, 594, 595, 596, 598, 599, 600, 601, 602, 604, 605, 606, 608, 609, 611, 612, 613], "excluded_lines": [], "start_line": 577}, "handle_dashboard_generation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [618, 619, 621, 622, 623, 624, 625, 626, 628, 630, 631, 632, 633, 634, 635, 636, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 650, 651, 652, 654, 655], "excluded_lines": [], "start_line": 616}, "handle_preview": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [660, 662, 663, 665, 666, 667, 669, 670, 672, 679, 686, 688, 696, 697, 698, 700, 701, 703, 704, 705], "excluded_lines": [], "start_line": 658}, "handle_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [710, 712, 713, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 726, 727, 728, 729, 731, 733, 734, 735], "excluded_lines": [], "start_line": 708}, "handle_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 114, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 114, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [740, 741, 743, 745, 746, 747, 749, 750, 751, 752, 754, 755, 756, 757, 759, 760, 761, 762, 763, 764, 765, 766, 768, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 783, 784, 785, 786, 788, 789, 790, 792, 794, 798, 799, 801, 802, 804, 806, 807, 808, 809, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 836, 837, 839, 840, 841, 846, 847, 848, 849, 850, 851, 852, 854, 855, 857, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 887, 888, 889, 890, 891, 892, 893, 895, 896], "excluded_lines": [], "start_line": 738}, "handle_refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [901, 903, 904, 906, 907, 908, 914, 915, 916, 917, 918, 920, 921, 923, 924, 925, 927, 928], "excluded_lines": [], "start_line": 899}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 12, 271, 285, 355, 577, 616, 658, 708, 738, 899], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 5, 6, 8, 9, 12, 271, 285, 355, 577, 616, 658, 708, 738, 899], "summary": {"covered_lines": 16, "num_statements": 622, "percent_covered": 2.572347266881029, "percent_covered_display": "3", "missing_lines": 606, "excluded_lines": 0, "percent_statements_covered": 2.572347266881029, "percent_statements_covered_display": "3"}, "missing_lines": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 57, 58, 60, 61, 66, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 107, 115, 116, 117, 119, 120, 121, 122, 124, 126, 127, 128, 130, 131, 132, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 148, 149, 151, 153, 154, 155, 157, 163, 164, 166, 167, 168, 169, 170, 171, 172, 173, 175, 176, 177, 178, 179, 180, 181, 183, 184, 192, 193, 195, 196, 197, 198, 200, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 216, 217, 219, 220, 221, 222, 223, 224, 225, 227, 228, 236, 238, 239, 240, 241, 243, 244, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 261, 263, 264, 265, 267, 268, 273, 274, 275, 277, 278, 279, 281, 282, 287, 288, 289, 290, 292, 293, 294, 295, 296, 298, 299, 300, 301, 303, 304, 305, 312, 313, 314, 316, 318, 319, 320, 322, 323, 325, 326, 327, 328, 329, 330, 331, 332, 333, 335, 336, 337, 338, 339, 340, 342, 344, 345, 346, 347, 348, 350, 351, 352, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 368, 369, 370, 371, 372, 374, 375, 376, 378, 379, 381, 382, 383, 384, 385, 386, 388, 389, 390, 396, 398, 399, 400, 402, 403, 404, 405, 406, 408, 409, 410, 411, 412, 414, 415, 424, 425, 426, 428, 429, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 442, 443, 445, 446, 448, 449, 450, 451, 452, 453, 455, 456, 457, 458, 459, 461, 462, 463, 464, 465, 466, 467, 468, 469, 471, 480, 481, 482, 483, 484, 485, 488, 489, 491, 499, 501, 502, 503, 504, 505, 506, 514, 516, 517, 519, 520, 522, 523, 533, 534, 535, 537, 538, 540, 541, 542, 543, 545, 546, 547, 548, 549, 551, 552, 553, 554, 557, 558, 560, 561, 562, 563, 564, 565, 567, 569, 570, 571, 573, 574, 579, 581, 582, 583, 585, 587, 588, 589, 590, 591, 593, 594, 595, 596, 598, 599, 600, 601, 602, 604, 605, 606, 608, 609, 611, 612, 613, 618, 619, 621, 622, 623, 624, 625, 626, 628, 630, 631, 632, 633, 634, 635, 636, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 650, 651, 652, 654, 655, 660, 662, 663, 665, 666, 667, 669, 670, 672, 679, 686, 688, 696, 697, 698, 700, 701, 703, 704, 705, 710, 712, 713, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 726, 727, 728, 729, 731, 733, 734, 735, 740, 741, 743, 745, 746, 747, 749, 750, 751, 752, 754, 755, 756, 757, 759, 760, 761, 762, 763, 764, 765, 766, 768, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 783, 784, 785, 786, 788, 789, 790, 792, 794, 798, 799, 801, 802, 804, 806, 807, 808, 809, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 836, 837, 839, 840, 841, 846, 847, 848, 849, 850, 851, 852, 854, 855, 857, 859, 860, 861, 862, 863, 864, 865, 866, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 887, 888, 889, 890, 891, 892, 893, 895, 896, 901, 903, 904, 906, 907, 908, 914, 915, 916, 917, 918, 920, 921, 923, 924, 925, 927, 928], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\cli_output_layout.py": {"executed_lines": [3, 4, 7, 16, 18, 19, 20, 21, 23, 25, 26, 29, 34, 36, 37, 39, 40, 41, 42, 44], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [31], "excluded_lines": [], "functions": {"slugify_username": {"executed_lines": [18, 19, 20, 21, 23, 25, 26], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "to_posix_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31], "excluded_lines": [], "start_line": 29}, "build_output_layout": {"executed_lines": [36, 37, 39, 40, 41, 42, 44], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [3, 4, 7, 16, 29, 34], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"OutputLayout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [3, 4, 7, 16, 18, 19, 20, 21, 23, 25, 26, 29, 34, 36, 37, 39, 40, 41, 42, 44], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [31], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\config.py": {"executed_lines": [3, 4, 5, 7, 10, 13, 14, 16, 22, 23, 24, 26, 28, 29, 31, 32, 35, 36, 37, 38, 40, 46, 49, 54, 55, 58, 61, 62, 68, 69, 70, 71, 72, 73, 77, 79, 85, 87, 93, 95, 101, 102, 107, 109, 119, 120, 121, 122, 123, 126, 127, 128, 130, 136, 141, 142, 144, 145], "summary": {"covered_lines": 58, "num_statements": 66, "percent_covered": 87.87878787878788, "percent_covered_display": "88", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 87.87878787878788, "percent_statements_covered_display": "88"}, "missing_lines": [50, 51, 56, 104, 105, 106, 125, 143], "excluded_lines": [], "functions": {"SparkConfig.__init__": {"executed_lines": [22, 23, 24], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "SparkConfig.load": {"executed_lines": [28, 29, 31, 32, 35, 36, 37, 38], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26}, "SparkConfig.validate": {"executed_lines": [46, 49, 54, 55, 58, 61, 62, 68, 69, 70, 71, 72, 73, 77], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 82.3529411764706, "percent_covered_display": "82", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 82.3529411764706, "percent_statements_covered_display": "82"}, "missing_lines": [50, 51, 56], "excluded_lines": [], "start_line": 40}, "SparkConfig.get_theme": {"executed_lines": [85], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "SparkConfig.get_enabled_stats": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 87}, "SparkConfig.get_user": {"executed_lines": [101, 102, 107], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [104, 105, 106], "excluded_lines": [], "start_line": 95}, "SparkConfig.get": {"executed_lines": [119, 120, 121, 122, 123, 126, 127, 128], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [125], "excluded_lines": [], "start_line": 109}, "SparkConfig.get_github_api_version_config": {"executed_lines": [136, 141, 142, 144, 145], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [143], "excluded_lines": [], "start_line": 130}, "": {"executed_lines": [3, 4, 5, 7, 10, 13, 14, 16, 26, 40, 79, 87, 95, 109, 130], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SparkConfig": {"executed_lines": [22, 23, 24, 28, 29, 31, 32, 35, 36, 37, 38, 46, 49, 54, 55, 58, 61, 62, 68, 69, 70, 71, 72, 73, 77, 85, 93, 101, 102, 107, 119, 120, 121, 122, 123, 126, 127, 128, 136, 141, 142, 144, 145], "summary": {"covered_lines": 43, "num_statements": 51, "percent_covered": 84.31372549019608, "percent_covered_display": "84", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 84.31372549019608, "percent_statements_covered_display": "84"}, "missing_lines": [50, 51, 56, 104, 105, 106, 125, 143], "excluded_lines": [], "start_line": 10}, "": {"executed_lines": [3, 4, 5, 7, 10, 13, 14, 16, 26, 40, 79, 87, 95, 109, 130], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\dashboard_generator.py": {"executed_lines": [8, 9, 10, 11, 12, 13, 15, 16, 17, 24, 26, 29, 42, 49, 50, 53, 54, 55, 57, 60, 61, 62, 65, 66, 67, 68, 69, 70, 72, 77, 89, 93, 96, 99, 102, 110, 116, 119, 121, 199, 294, 303, 304, 306, 307, 308, 309, 311, 321, 357], "summary": {"covered_lines": 50, "num_statements": 131, "percent_covered": 38.16793893129771, "percent_covered_display": "38", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 38.16793893129771, "percent_statements_covered_display": "38"}, "missing_lines": [90, 91, 127, 130, 131, 132, 134, 141, 144, 145, 146, 149, 150, 151, 152, 154, 156, 162, 163, 164, 166, 167, 168, 170, 171, 172, 175, 191, 193, 194, 195, 197, 217, 220, 221, 222, 223, 224, 225, 228, 229, 236, 237, 238, 247, 250, 251, 253, 254, 255, 256, 257, 258, 259, 262, 263, 264, 265, 274, 275, 276, 277, 286, 335, 336, 339, 340, 342, 344, 347, 348, 349, 351, 353, 354, 355, 367, 368, 370, 371, 372], "excluded_lines": [], "functions": {"DashboardGenerator.__init__": {"executed_lines": [49, 50, 53, 54, 55, 57, 60, 61, 62, 65, 66, 67, 68, 69, 70, 72], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "DashboardGenerator.generate": {"executed_lines": [89, 93, 96, 99, 102, 110, 116, 119], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [90, 91], "excluded_lines": [], "start_line": 77}, "DashboardGenerator.generate_dashboard_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [127, 130, 131, 132, 134, 141, 144, 145, 146, 149, 150, 151, 152, 154, 156, 162, 163, 164, 166, 167, 168, 170, 171, 172, 175, 191, 193, 194, 195, 197], "excluded_lines": [], "start_line": 121}, "DashboardGenerator.calculate_commit_metrics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [217, 220, 221, 222, 223, 224, 225, 228, 229, 236, 237, 238, 247, 250, 251, 253, 254, 255, 256, 257, 258, 259, 262, 263, 264, 265, 274, 275, 276, 277, 286], "excluded_lines": [], "start_line": 199}, "DashboardGenerator.generate_user_profile": {"executed_lines": [303, 304, 306, 307, 308, 309, 311], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 294}, "DashboardGenerator.write_json_output": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [335, 336, 339, 340, 342, 344, 347, 348, 349, 351, 353, 354, 355], "excluded_lines": [], "start_line": 321}, "DashboardGenerator.save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [367, 368, 370, 371, 372], "excluded_lines": [], "start_line": 357}, "": {"executed_lines": [8, 9, 10, 11, 12, 13, 15, 16, 17, 24, 26, 29, 42, 77, 121, 199, 294, 321, 357], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DashboardGenerator": {"executed_lines": [49, 50, 53, 54, 55, 57, 60, 61, 62, 65, 66, 67, 68, 69, 70, 72, 89, 93, 96, 99, 102, 110, 116, 119, 303, 304, 306, 307, 308, 309, 311], "summary": {"covered_lines": 31, "num_statements": 112, "percent_covered": 27.678571428571427, "percent_covered_display": "28", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 27.678571428571427, "percent_statements_covered_display": "28"}, "missing_lines": [90, 91, 127, 130, 131, 132, 134, 141, 144, 145, 146, 149, 150, 151, 152, 154, 156, 162, 163, 164, 166, 167, 168, 170, 171, 172, 175, 191, 193, 194, 195, 197, 217, 220, 221, 222, 223, 224, 225, 228, 229, 236, 237, 238, 247, 250, 251, 253, 254, 255, 256, 257, 258, 259, 262, 263, 264, 265, 274, 275, 276, 277, 286, 335, 336, 339, 340, 342, 344, 347, 348, 349, 351, 353, 354, 355, 367, 368, 370, 371, 372], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [8, 9, 10, 11, 12, 13, 15, 16, 17, 24, 26, 29, 42, 77, 121, 199, 294, 321, 357], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\dependencies\\__init__.py": {"executed_lines": [8, 9, 11], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [8, 9, 11], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [8, 9, 11], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\dependencies\\analyzer.py": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 14, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 39, 42, 48, 49, 50, 51, 52, 54, 64, 87, 144, 170, 216, 261, 296, 329], "summary": {"covered_lines": 36, "num_statements": 188, "percent_covered": 19.148936170212767, "percent_covered_display": "19", "missing_lines": 152, "excluded_lines": 0, "percent_statements_covered": 19.148936170212767, "percent_statements_covered_display": "19"}, "missing_lines": [55, 56, 57, 65, 66, 67, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 93, 94, 95, 97, 98, 99, 103, 104, 105, 106, 107, 111, 112, 113, 114, 115, 119, 120, 121, 122, 123, 127, 128, 129, 130, 132, 133, 134, 135, 137, 138, 139, 141, 142, 150, 151, 153, 154, 155, 156, 157, 159, 160, 162, 163, 164, 165, 166, 168, 177, 181, 182, 183, 184, 185, 186, 187, 193, 195, 201, 225, 226, 227, 230, 231, 232, 233, 235, 236, 242, 245, 246, 247, 253, 255, 270, 271, 273, 274, 275, 278, 279, 280, 281, 282, 284, 285, 286, 287, 288, 292, 294, 304, 306, 338, 341, 350, 353, 354, 355, 356, 357, 358, 359, 360, 362, 363, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 387, 389, 390, 394, 396, 402], "excluded_lines": [], "functions": {"RepositoryDependencyAnalyzer.__init__": {"executed_lines": [48, 49, 50, 51, 52], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "RepositoryDependencyAnalyzer._version_lookup_settings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [55, 56, 57], "excluded_lines": [], "start_line": 54}, "RepositoryDependencyAnalyzer._normalize_current_version": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [65, 66, 67, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85], "excluded_lines": [], "start_line": 64}, "RepositoryDependencyAnalyzer._fetch_latest_version": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [93, 94, 95, 97, 98, 99, 103, 104, 105, 106, 107, 111, 112, 113, 114, 115, 119, 120, 121, 122, 123, 127, 128, 129, 130, 132, 133, 134, 135, 137, 138, 139, 141, 142], "excluded_lines": [], "start_line": 87}, "RepositoryDependencyAnalyzer._compare_versions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150, 151, 153, 154, 155, 156, 157, 159, 160, 162, 163, 164, 165, 166, 168], "excluded_lines": [], "start_line": 144}, "RepositoryDependencyAnalyzer._build_dependency_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [177, 181, 182, 183, 184, 185, 186, 187, 193, 195, 201], "excluded_lines": [], "start_line": 170}, "RepositoryDependencyAnalyzer.analyze_repository": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [225, 226, 227, 230, 231, 232, 233, 235, 236, 242, 245, 246, 247, 253, 255], "excluded_lines": [], "start_line": 216}, "RepositoryDependencyAnalyzer.get_dependency_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [270, 271, 273, 274, 275, 278, 279, 280, 281, 282, 284, 285, 286, 287, 288, 292, 294], "excluded_lines": [], "start_line": 261}, "RepositoryDependencyAnalyzer.build_technology_stack": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [304, 306], "excluded_lines": [], "start_line": 296}, "RepositoryDependencyAnalyzer.analyze_github_repository": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [338, 341, 350, 353, 354, 355, 356, 357, 358, 359, 360, 362, 363, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 387, 389, 390, 394, 396, 402], "excluded_lines": [], "start_line": 329}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 14, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 39, 42, 54, 64, 87, 144, 170, 216, 261, 296, 329], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DependencyStatus": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "RepositoryDependencyReport": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "RepositoryDependencyAnalyzer": {"executed_lines": [48, 49, 50, 51, 52], "summary": {"covered_lines": 5, "num_statements": 157, "percent_covered": 3.1847133757961785, "percent_covered_display": "3", "missing_lines": 152, "excluded_lines": 0, "percent_statements_covered": 3.1847133757961785, "percent_statements_covered_display": "3"}, "missing_lines": [55, 56, 57, 65, 66, 67, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 93, 94, 95, 97, 98, 99, 103, 104, 105, 106, 107, 111, 112, 113, 114, 115, 119, 120, 121, 122, 123, 127, 128, 129, 130, 132, 133, 134, 135, 137, 138, 139, 141, 142, 150, 151, 153, 154, 155, 156, 157, 159, 160, 162, 163, 164, 165, 166, 168, 177, 181, 182, 183, 184, 185, 186, 187, 193, 195, 201, 225, 226, 227, 230, 231, 232, 233, 235, 236, 242, 245, 246, 247, 253, 255, 270, 271, 273, 274, 275, 278, 279, 280, 281, 282, 284, 285, 286, 287, 288, 292, 294, 304, 306, 338, 341, 350, 353, 354, 355, 356, 357, 358, 359, 360, 362, 363, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 382, 383, 384, 387, 389, 390, 394, 396, 402], "excluded_lines": [], "start_line": 39}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 14, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 39, 42, 54, 64, 87, 144, 170, 216, 261, 296, 329], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\dependencies\\parser.py": {"executed_lines": [12, 13, 14, 15, 16, 17, 20, 21, 25, 28, 31, 32, 33, 34, 36, 40, 43, 51, 52, 54, 64, 67, 74, 75, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 99, 100, 101, 104, 105, 106, 107, 111, 112, 113, 114, 116, 118, 120, 121, 124, 125, 128, 129, 132, 133, 134, 135, 140, 141, 142, 146, 148, 150, 151, 152, 155, 156, 157, 158, 161, 162, 164, 169, 179, 184, 186, 188, 189, 192, 193, 194, 195, 196, 200, 202, 204, 206, 208, 209, 212, 213, 214, 215, 216, 217, 220, 221, 222, 223, 224, 225, 229, 231, 298, 301, 303, 304, 306, 307, 308, 310, 312], "summary": {"covered_lines": 116, "num_statements": 166, "percent_covered": 69.87951807228916, "percent_covered_display": "70", "missing_lines": 50, "excluded_lines": 0, "percent_statements_covered": 69.87951807228916, "percent_statements_covered_display": "70"}, "missing_lines": [22, 23, 37, 68, 69, 70, 71, 72, 91, 92, 93, 95, 170, 171, 172, 173, 174, 175, 180, 181, 182, 246, 248, 250, 254, 255, 256, 257, 258, 260, 261, 262, 263, 266, 268, 269, 270, 271, 277, 278, 279, 280, 282, 283, 286, 288, 292, 294, 295, 296], "excluded_lines": [], "functions": {"Dependency.__init__": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "Dependency.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37], "excluded_lines": [], "start_line": 36}, "DependencyParser.__init__": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "DependencyParser.parse_file": {"executed_lines": [64, 67, 74, 75, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], "summary": {"covered_lines": 17, "num_statements": 26, "percent_covered": 65.38461538461539, "percent_covered_display": "65", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 65.38461538461539, "percent_statements_covered_display": "65"}, "missing_lines": [68, 69, 70, 71, 72, 91, 92, 93, 95], "excluded_lines": [], "start_line": 54}, "DependencyParser._parse_package_json": {"executed_lines": [99, 100, 101, 104, 105, 106, 107, 111, 112, 113, 114], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97}, "DependencyParser._parse_requirements_txt": {"executed_lines": [118, 120, 121, 124, 125, 128, 129, 132, 133, 134, 135, 140, 141, 142, 146], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116}, "DependencyParser._parse_pyproject_toml": {"executed_lines": [150, 151, 152, 155, 156, 157, 158, 161, 162, 164, 169, 179], "summary": {"covered_lines": 12, "num_statements": 21, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [170, 171, 172, 173, 174, 175, 180, 181, 182], "excluded_lines": [], "start_line": 148}, "DependencyParser._parse_gemfile": {"executed_lines": [186, 188, 189, 192, 193, 194, 195, 196, 200], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 184}, "DependencyParser._parse_go_mod": {"executed_lines": [204, 206, 208, 209, 212, 213, 214, 215, 216, 217, 220, 221, 222, 223, 224, 225, 229], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202}, "DependencyParser._parse_csproj": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [246, 248, 250, 254, 255, 256, 257, 258, 260, 261, 262, 263, 266, 268, 269, 270, 271, 277, 278, 279, 280, 282, 283, 286, 288, 292, 294, 295, 296], "excluded_lines": [], "start_line": 231}, "DependencyParser._clean_npm_version": {"executed_lines": [301, 303, 304, 306, 307, 308], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 298}, "DependencyParser._clean_version": {"executed_lines": [312], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 310}, "": {"executed_lines": [12, 13, 14, 15, 16, 17, 20, 21, 25, 28, 31, 36, 40, 43, 51, 54, 97, 116, 148, 184, 202, 231, 298, 310], "summary": {"covered_lines": 24, "num_statements": 26, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [22, 23], "excluded_lines": [], "start_line": 1}}, "classes": {"Dependency": {"executed_lines": [32, 33, 34], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [37], "excluded_lines": [], "start_line": 28}, "DependencyParser": {"executed_lines": [52, 64, 67, 74, 75, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 104, 105, 106, 107, 111, 112, 113, 114, 118, 120, 121, 124, 125, 128, 129, 132, 133, 134, 135, 140, 141, 142, 146, 150, 151, 152, 155, 156, 157, 158, 161, 162, 164, 169, 179, 186, 188, 189, 192, 193, 194, 195, 196, 200, 204, 206, 208, 209, 212, 213, 214, 215, 216, 217, 220, 221, 222, 223, 224, 225, 229, 301, 303, 304, 306, 307, 308, 312], "summary": {"covered_lines": 89, "num_statements": 136, "percent_covered": 65.44117647058823, "percent_covered_display": "65", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 65.44117647058823, "percent_statements_covered_display": "65"}, "missing_lines": [68, 69, 70, 71, 72, 91, 92, 93, 95, 170, 171, 172, 173, 174, 175, 180, 181, 182, 246, 248, 250, 254, 255, 256, 257, 258, 260, 261, 262, 263, 266, 268, 269, 270, 271, 277, 278, 279, 280, 282, 283, 286, 288, 292, 294, 295, 296], "excluded_lines": [], "start_line": 40}, "": {"executed_lines": [12, 13, 14, 15, 16, 17, 20, 21, 25, 28, 31, 36, 40, 43, 51, 54, 97, 116, 148, 184, 202, 231, 298, 310], "summary": {"covered_lines": 24, "num_statements": 26, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [22, 23], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\exceptions.py": {"executed_lines": [3, 6, 19, 37, 48, 61, 79], "summary": {"covered_lines": 7, "num_statements": 20, "percent_covered": 35.0, "percent_covered_display": "35", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 35.0, "percent_statements_covered_display": "35"}, "missing_lines": [32, 33, 34, 35, 43, 44, 45, 74, 75, 76, 77, 85, 86], "excluded_lines": [], "functions": {"ConfigurationError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 33, 34, 35], "excluded_lines": [], "start_line": 19}, "ConfigurationError.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [43, 44, 45], "excluded_lines": [], "start_line": 37}, "WorkflowError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [74, 75, 76, 77], "excluded_lines": [], "start_line": 61}, "WorkflowError.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [85, 86], "excluded_lines": [], "start_line": 79}, "": {"executed_lines": [3, 6, 19, 37, 48, 61, 79], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"ConfigurationError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 33, 34, 35, 43, 44, 45], "excluded_lines": [], "start_line": 6}, "WorkflowError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [74, 75, 76, 77, 85, 86], "excluded_lines": [], "start_line": 48}, "": {"executed_lines": [3, 6, 19, 37, 48, 61, 79], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\fetcher.py": {"executed_lines": [3, 4, 5, 6, 8, 10, 11, 13, 14, 15, 16, 19, 22, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 53, 54, 56, 58, 62, 63, 64, 66, 73, 74, 75, 76, 79, 85, 88, 89, 91, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 112, 121, 122, 123, 125, 132, 133, 140, 141, 142, 143, 144, 145, 146, 148, 149, 151, 170, 180, 181, 182, 183, 197, 199, 208, 209, 210, 211, 213, 215, 216, 218, 236, 238, 239, 240, 242, 260, 261, 262, 263, 264, 266, 268, 269, 270, 272, 273, 279, 282, 283, 284, 286, 289, 290, 292, 293, 294, 296, 315, 316, 317, 318, 319, 320, 322, 323, 325, 326, 327, 329, 330, 333, 340, 343, 345, 346, 347, 349, 378, 381, 382, 383, 390, 391, 392, 393, 394, 396, 397, 401, 403, 404, 405, 408, 409, 412, 415, 416, 417, 419, 420, 421, 422, 424, 428, 444, 447, 454, 455, 456, 457, 459, 460, 461, 463, 475, 476, 477, 478, 480, 481, 482, 485, 487, 488, 489, 491, 503, 504, 505, 506, 508, 509, 510, 513, 516, 518, 519, 520, 521, 522, 523, 525, 539, 540, 541, 542, 544, 547, 559, 560, 563, 564, 565, 567, 568, 569, 570, 571, 572, 574, 577, 580, 581, 582, 585, 587, 588, 589, 594, 614, 615, 616, 617, 619, 620, 623, 624, 627, 628, 629, 632, 633, 634, 635, 636, 640, 642, 644, 647, 650, 651, 652, 653, 655, 659, 660, 663, 664, 665, 666, 667, 668, 670, 679, 681, 682, 683, 691, 699, 700, 701, 702, 703, 705, 706, 707, 708, 709, 710, 711, 713, 714, 715, 720, 721, 722, 723, 725, 726, 731, 732, 733, 734, 735, 736, 737, 738, 739, 741, 742, 744, 746, 748, 749, 751, 752, 753, 755, 756, 757, 758, 759, 761, 771, 772, 773, 784, 792, 793, 794, 795, 796, 798, 805, 806, 807, 808, 809, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 832, 834, 838, 839, 840, 841, 842, 847, 849, 853, 854, 855, 856, 857, 862, 864, 869, 870, 871, 872, 873, 874, 875, 876, 881, 882, 884, 886, 887, 888, 889, 890, 891, 893, 894, 896, 897, 898, 899, 901, 903, 911, 912, 913, 922, 928, 931, 932, 936, 937, 938, 940, 943, 945, 951, 954, 955, 958, 960], "summary": {"covered_lines": 404, "num_statements": 435, "percent_covered": 92.8735632183908, "percent_covered_display": "93", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 92.8735632183908, "percent_statements_covered_display": "93"}, "missing_lines": [193, 194, 195, 331, 398, 399, 410, 425, 426, 448, 450, 451, 452, 575, 576, 579, 590, 591, 592, 645, 656, 727, 728, 729, 843, 844, 845, 858, 859, 860, 934], "excluded_lines": [], "functions": {"GitHubFetcher.__init__": {"executed_lines": [38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 53, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "GitHubFetcher._build_rest_headers": {"executed_lines": [58, 62, 63, 64], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56}, "GitHubFetcher._rest_get": {"executed_lines": [73, 74, 75, 76, 79, 85, 88, 89, 91], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "GitHubFetcher._parse_iso_datetime": {"executed_lines": [95, 96, 97, 98, 99, 100], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94}, "GitHubFetcher._map_failure_reason": {"executed_lines": [104, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 103}, "GitHubFetcher._build_repo_metadata": {"executed_lines": [121, 122, 123, 125], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 112}, "GitHubFetcher._should_include_repository": {"executed_lines": [140, 141, 142, 143, 144, 145, 146], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133}, "GitHubFetcher._serialize_repository": {"executed_lines": [151], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "GitHubFetcher.get_user": {"executed_lines": [180, 181, 182, 183, 197], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62"}, "missing_lines": [193, 194, 195], "excluded_lines": [], "start_line": 170}, "GitHubFetcher.fetch_user_profile": {"executed_lines": [208, 209, 210, 211, 213, 215, 216, 218, 236, 238, 239, 240], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199}, "GitHubFetcher.fetch_repositories": {"executed_lines": [260, 261, 262, 263, 264, 266, 268, 269, 270, 272, 273, 279, 282, 283, 284, 286, 289, 290, 292, 293, 294], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242}, "GitHubFetcher.fetch_commits": {"executed_lines": [315, 316, 317, 318, 319, 320, 322, 323, 325, 326, 327, 329, 330, 333, 340, 343, 345, 346, 347], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [331], "excluded_lines": [], "start_line": 296}, "GitHubFetcher.fetch_commits_with_stats": {"executed_lines": [378, 381, 382, 383, 390, 391, 392, 393, 394, 396, 397, 401, 403, 404, 405, 408, 409, 412, 415, 416, 417, 419, 420, 421, 422, 424, 428, 444, 447, 454, 455, 456, 457, 459, 460, 461], "summary": {"covered_lines": 36, "num_statements": 45, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [398, 399, 410, 425, 426, 448, 450, 451, 452], "excluded_lines": [], "start_line": 349}, "GitHubFetcher.fetch_languages": {"executed_lines": [475, 476, 477, 478, 480, 481, 482, 485, 487, 488, 489], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 463}, "GitHubFetcher.fetch_readme": {"executed_lines": [503, 504, 505, 506, 508, 509, 510, 513, 516, 518, 519, 520, 521, 522, 523], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 491}, "GitHubFetcher.fetch_dependency_files": {"executed_lines": [539, 540, 541, 542, 544, 547, 559, 560, 563, 564, 565, 567, 568, 569, 570, 571, 572, 574, 577, 580, 581, 582, 585, 587, 588, 589], "summary": {"covered_lines": 26, "num_statements": 32, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 81.25, "percent_statements_covered_display": "81"}, "missing_lines": [575, 576, 579, 590, 591, 592], "excluded_lines": [], "start_line": 525}, "GitHubFetcher.fetch_commit_counts": {"executed_lines": [614, 615, 616, 617, 619, 620, 623, 624, 627, 628, 629, 632, 633, 634, 635, 636, 640, 642, 644, 647, 650, 651, 652, 653, 655, 659, 660, 663, 664, 665, 666, 667, 668, 670, 679, 681, 682, 683], "summary": {"covered_lines": 38, "num_statements": 40, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [645, 656], "excluded_lines": [], "start_line": 594}, "GitHubFetcher.fetch_pull_request_summary": {"executed_lines": [699, 700, 701, 702, 703, 705, 706, 707, 708, 709, 710, 711, 713, 714, 715, 720, 721, 722, 723, 725, 726, 731, 732, 733, 734, 735, 736, 737, 738, 739, 741, 742, 744, 746, 748, 749, 751, 752, 753, 755, 756, 757, 758, 759, 761, 771, 772, 773], "summary": {"covered_lines": 48, "num_statements": 51, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [727, 728, 729], "excluded_lines": [], "start_line": 691}, "GitHubFetcher.fetch_security_summary": {"executed_lines": [792, 793, 794, 795, 796, 798, 805, 806, 807, 808, 809, 811, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 832, 834, 838, 839, 840, 841, 842, 847, 849, 853, 854, 855, 856, 857, 862, 864, 869, 870, 871, 872, 873, 874, 875, 876, 881, 882, 884, 886, 887, 888, 889, 890, 891, 893, 894, 896, 897, 898, 899, 901, 903, 911, 912, 913], "summary": {"covered_lines": 69, "num_statements": 75, "percent_covered": 92.0, "percent_covered_display": "92", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 92.0, "percent_statements_covered_display": "92"}, "missing_lines": [843, 844, 845, 858, 859, 860], "excluded_lines": [], "start_line": 784}, "GitHubFetcher.fetch_security_summary.mark_failure": {"executed_lines": [813, 814, 815, 816], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 811}, "GitHubFetcher.handle_rate_limit": {"executed_lines": [928, 931, 932, 936, 937, 938, 940, 943], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89"}, "missing_lines": [934], "excluded_lines": [], "start_line": 922}, "GitHubFetcher.get_rate_limit_status": {"executed_lines": [951, 954, 955, 958, 960], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 945}, "": {"executed_lines": [3, 4, 5, 6, 8, 10, 11, 13, 14, 15, 16, 19, 22, 56, 66, 93, 94, 102, 103, 112, 132, 133, 148, 149, 170, 199, 242, 296, 349, 463, 491, 525, 594, 691, 784, 922, 945], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"GitHubFetcher": {"executed_lines": [38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 53, 54, 58, 62, 63, 64, 73, 74, 75, 76, 79, 85, 88, 89, 91, 95, 96, 97, 98, 99, 100, 104, 105, 106, 107, 108, 109, 110, 121, 122, 123, 125, 140, 141, 142, 143, 144, 145, 146, 151, 180, 181, 182, 183, 197, 208, 209, 210, 211, 213, 215, 216, 218, 236, 238, 239, 240, 260, 261, 262, 263, 264, 266, 268, 269, 270, 272, 273, 279, 282, 283, 284, 286, 289, 290, 292, 293, 294, 315, 316, 317, 318, 319, 320, 322, 323, 325, 326, 327, 329, 330, 333, 340, 343, 345, 346, 347, 378, 381, 382, 383, 390, 391, 392, 393, 394, 396, 397, 401, 403, 404, 405, 408, 409, 412, 415, 416, 417, 419, 420, 421, 422, 424, 428, 444, 447, 454, 455, 456, 457, 459, 460, 461, 475, 476, 477, 478, 480, 481, 482, 485, 487, 488, 489, 503, 504, 505, 506, 508, 509, 510, 513, 516, 518, 519, 520, 521, 522, 523, 539, 540, 541, 542, 544, 547, 559, 560, 563, 564, 565, 567, 568, 569, 570, 571, 572, 574, 577, 580, 581, 582, 585, 587, 588, 589, 614, 615, 616, 617, 619, 620, 623, 624, 627, 628, 629, 632, 633, 634, 635, 636, 640, 642, 644, 647, 650, 651, 652, 653, 655, 659, 660, 663, 664, 665, 666, 667, 668, 670, 679, 681, 682, 683, 699, 700, 701, 702, 703, 705, 706, 707, 708, 709, 710, 711, 713, 714, 715, 720, 721, 722, 723, 725, 726, 731, 732, 733, 734, 735, 736, 737, 738, 739, 741, 742, 744, 746, 748, 749, 751, 752, 753, 755, 756, 757, 758, 759, 761, 771, 772, 773, 792, 793, 794, 795, 796, 798, 805, 806, 807, 808, 809, 811, 813, 814, 815, 816, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 832, 834, 838, 839, 840, 841, 842, 847, 849, 853, 854, 855, 856, 857, 862, 864, 869, 870, 871, 872, 873, 874, 875, 876, 881, 882, 884, 886, 887, 888, 889, 890, 891, 893, 894, 896, 897, 898, 899, 901, 903, 911, 912, 913, 928, 931, 932, 936, 937, 938, 940, 943, 951, 954, 955, 958, 960], "summary": {"covered_lines": 367, "num_statements": 398, "percent_covered": 92.21105527638191, "percent_covered_display": "92", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 92.21105527638191, "percent_statements_covered_display": "92"}, "missing_lines": [193, 194, 195, 331, 398, 399, 410, 425, 426, 448, 450, 451, 452, 575, 576, 579, 590, 591, 592, 645, 656, 727, 728, 729, 843, 844, 845, 858, 859, 860, 934], "excluded_lines": [], "start_line": 19}, "": {"executed_lines": [3, 4, 5, 6, 8, 10, 11, 13, 14, 15, 16, 19, 22, 56, 66, 93, 94, 102, 103, 112, 132, 133, 148, 149, 170, 199, 242, 296, 349, 463, 491, 525, 594, 691, 784, 922, 945], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\logger.py": {"executed_lines": [3, 4, 5, 8, 11, 18, 19, 21, 31, 32, 34, 40, 42, 48, 50, 52, 54, 61, 62, 63, 64, 66, 72, 77, 80, 91, 92, 93], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 96.55172413793103, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97"}, "missing_lines": [73], "excluded_lines": [], "functions": {"Logger.__init__": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11}, "Logger._format_message": {"executed_lines": [31, 32], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "Logger.info": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "Logger.warning": {"executed_lines": [48], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "Logger.warn": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "Logger.error": {"executed_lines": [61, 62, 63, 64], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "Logger.debug": {"executed_lines": [72], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [73], "excluded_lines": [], "start_line": 66}, "get_logger": {"executed_lines": [91, 92, 93], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 80}, "": {"executed_lines": [3, 4, 5, 8, 11, 21, 34, 42, 50, 54, 66, 77, 80], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"Logger": {"executed_lines": [18, 19, 31, 32, 40, 48, 52, 61, 62, 63, 64, 72], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [73], "excluded_lines": [], "start_line": 8}, "": {"executed_lines": [3, 4, 5, 8, 11, 21, 34, 42, 50, 54, 66, 77, 80, 91, 92, 93], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\__init__.py": {"executed_lines": [14, 15, 16, 17, 18, 19, 20, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [14, 15, 16, 17, 18, 19, 20, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [14, 15, 16, 17, 18, 19, 20, 22], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\commit.py": {"executed_lines": [3, 4, 5, 8, 9, 28, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 42, 48, 49, 51, 53, 59, 62, 63, 64, 65, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, 89, 90, 91, 94, 95, 96, 97, 98, 99, 101, 103, 104, 110, 112, 113, 119, 120, 121, 122, 124, 125, 126, 128, 129, 138, 139, 140, 142, 154, 160], "summary": {"covered_lines": 73, "num_statements": 73, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"CommitHistory.__post_init__": {"executed_lines": [39, 40], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37}, "CommitHistory._calculate_frequency": {"executed_lines": [48, 49, 51], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "CommitHistory._detect_patterns": {"executed_lines": [59, 62, 63, 64, 65, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, 89, 90, 91, 94, 95, 96, 97, 98, 99, 101], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53}, "CommitHistory.activity_rate": {"executed_lines": [110], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104}, "CommitHistory.days_since_last_commit": {"executed_lines": [119, 120, 121, 122, 124, 125, 126], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113}, "CommitHistory.from_dict": {"executed_lines": [138, 139, 140, 142], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129}, "CommitHistory.to_dict": {"executed_lines": [160], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154}, "": {"executed_lines": [3, 4, 5, 8, 9, 28, 29, 30, 31, 32, 33, 34, 35, 37, 42, 53, 103, 104, 112, 113, 128, 129, 154], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"CommitHistory": {"executed_lines": [39, 40, 48, 49, 51, 59, 62, 63, 64, 65, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, 89, 90, 91, 94, 95, 96, 97, 98, 99, 101, 110, 119, 120, 121, 122, 124, 125, 126, 138, 139, 140, 142, 160], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [3, 4, 5, 8, 9, 28, 29, 30, 31, 32, 33, 34, 35, 37, 42, 53, 103, 104, 112, 113, 128, 129, 154], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\dashboard_data.py": {"executed_lines": [3, 4, 5, 6, 9, 10, 25, 26, 27, 29, 41, 42, 73, 74, 75, 76, 77, 78, 79, 80, 82, 126, 127, 144, 145, 146, 148, 153, 154, 166, 167, 168, 169, 171, 188, 189, 201, 202, 203, 205, 217, 228, 238, 239, 264, 265, 277, 278], "summary": {"covered_lines": 48, "num_statements": 64, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [31, 88, 150, 173, 211, 226, 235, 236, 248, 251, 254, 258, 274, 275, 287, 288], "excluded_lines": [], "functions": {"CommitMetric.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31], "excluded_lines": [], "start_line": 29}, "DashboardRepository.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [88], "excluded_lines": [], "start_line": 82}, "UserProfile.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150], "excluded_lines": [], "start_line": 148}, "DashboardMetadata.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [173], "excluded_lines": [], "start_line": 171}, "DashboardData.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [211], "excluded_lines": [], "start_line": 205}, "DashboardData.to_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [226], "excluded_lines": [], "start_line": 217}, "DashboardData.save_to_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [235, 236], "excluded_lines": [], "start_line": 228}, "DashboardData.from_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [248, 251, 254, 258], "excluded_lines": [], "start_line": 239}, "DashboardData.from_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [274, 275], "excluded_lines": [], "start_line": 265}, "DashboardData.load_from_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [287, 288], "excluded_lines": [], "start_line": 278}, "": {"executed_lines": [3, 4, 5, 6, 9, 10, 25, 26, 27, 29, 41, 42, 73, 74, 75, 76, 77, 78, 79, 80, 82, 126, 127, 144, 145, 146, 148, 153, 154, 166, 167, 168, 169, 171, 188, 189, 201, 202, 203, 205, 217, 228, 238, 239, 264, 265, 277, 278], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"CommitMetric": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31], "excluded_lines": [], "start_line": 10}, "DashboardRepository": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [88], "excluded_lines": [], "start_line": 42}, "UserProfile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150], "excluded_lines": [], "start_line": 127}, "DashboardMetadata": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [173], "excluded_lines": [], "start_line": 154}, "DashboardData": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [211, 226, 235, 236, 248, 251, 254, 258, 274, 275, 287, 288], "excluded_lines": [], "start_line": 189}, "": {"executed_lines": [3, 4, 5, 6, 9, 10, 25, 26, 27, 29, 41, 42, 73, 74, 75, 76, 77, 78, 79, 80, 82, 126, 127, 144, 145, 146, 148, 153, 154, 166, 167, 168, 169, 171, 188, 189, 201, 202, 203, 205, 217, 228, 238, 239, 264, 265, 277, 278], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\github_data.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 35, 36, 38, 39, 49, 50, 58], "summary": {"covered_lines": 15, "num_statements": 19, "percent_covered": 78.94736842105263, "percent_covered_display": "79", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 78.94736842105263, "percent_statements_covered_display": "79"}, "missing_lines": [46, 47, 56, 64], "excluded_lines": [], "functions": {"GitHubData.cache_efficiency": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [46, 47], "excluded_lines": [], "start_line": 39}, "GitHubData.total_repositories": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [56], "excluded_lines": [], "start_line": 50}, "GitHubData.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [64], "excluded_lines": [], "start_line": 58}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 35, 36, 38, 39, 49, 50, 58], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"GitHubData": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [46, 47, 56, 64], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 35, 36, 38, 39, 49, 50, 58], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\profile.py": {"executed_lines": [3, 4, 7, 8, 20, 21, 23, 33, 34, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 68, 69, 71, 82, 83, 86, 87, 90, 91, 95, 96, 99, 102, 103, 105, 112, 116, 120, 124, 128, 131, 133, 139, 141, 142, 151, 165, 166, 172, 173, 175, 176, 182, 184, 186, 192], "summary": {"covered_lines": 56, "num_statements": 64, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [25, 92, 113, 117, 121, 125, 129, 183], "excluded_lines": [], "functions": {"ActivityPattern.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25], "excluded_lines": [], "start_line": 23}, "UserProfile.__post_init__": {"executed_lines": [68, 69], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66}, "UserProfile._calculate_tech_diversity": {"executed_lines": [82, 83, 86, 87, 90, 91, 95, 96, 99, 102, 103], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [92], "excluded_lines": [], "start_line": 71}, "UserProfile._classify_contribution_style": {"executed_lines": [112, 116, 120, 124, 128, 131], "summary": {"covered_lines": 6, "num_statements": 11, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 54.54545454545455, "percent_statements_covered_display": "55"}, "missing_lines": [113, 117, 121, 125, 129], "excluded_lines": [], "start_line": 105}, "UserProfile.add_pattern": {"executed_lines": [139], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133}, "UserProfile.from_dict": {"executed_lines": [151], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142}, "UserProfile.top_languages": {"executed_lines": [172, 173], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166}, "UserProfile.activity_ratio": {"executed_lines": [182, 184], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [183], "excluded_lines": [], "start_line": 176}, "UserProfile.to_dict": {"executed_lines": [192], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 186}, "": {"executed_lines": [3, 4, 7, 8, 20, 21, 23, 33, 34, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 71, 105, 133, 141, 142, 165, 166, 175, 176, 186], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"ActivityPattern": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25], "excluded_lines": [], "start_line": 8}, "UserProfile": {"executed_lines": [68, 69, 82, 83, 86, 87, 90, 91, 95, 96, 99, 102, 103, 112, 116, 120, 124, 128, 131, 139, 151, 172, 173, 182, 184, 192], "summary": {"covered_lines": 26, "num_statements": 33, "percent_covered": 78.78787878787878, "percent_covered_display": "79", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 78.78787878787878, "percent_statements_covered_display": "79"}, "missing_lines": [92, 113, 117, 121, 125, 129, 183], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [3, 4, 7, 8, 20, 21, 23, 33, 34, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 71, 105, 133, 141, 142, 165, 166, 175, 176, 186], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\report.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 30, 31, 32, 33, 34, 36, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 81, 82, 92, 102, 111, 112, 118, 120, 121, 123, 124, 130, 132, 133, 135, 136, 142, 144, 167, 168, 196, 197, 198, 199, 200, 201, 202, 203, 205, 208, 209, 212, 213, 214, 216, 222, 227, 228, 230, 236, 237, 246, 252, 255, 259, 263, 264, 265, 269, 270, 271, 272, 276, 279, 281, 305, 306], "summary": {"covered_lines": 85, "num_statements": 102, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [38, 98, 100, 108, 109, 119, 131, 150, 239, 244, 256, 260, 266, 273, 277, 287, 315], "excluded_lines": [], "functions": {"RepositoryAnalysis.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38], "excluded_lines": [], "start_line": 36}, "Report.__post_init__": {"executed_lines": [81, 82], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79}, "Report.add_repository_analysis": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [98, 100], "excluded_lines": [], "start_line": 92}, "Report.add_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [108, 109], "excluded_lines": [], "start_line": 102}, "Report.success_rate": {"executed_lines": [118, 120, 121], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [119], "excluded_lines": [], "start_line": 112}, "Report.ai_summary_rate": {"executed_lines": [130, 132, 133], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [131], "excluded_lines": [], "start_line": 124}, "Report.total_repositories_analyzed": {"executed_lines": [142], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 136}, "Report.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150], "excluded_lines": [], "start_line": 144}, "UnifiedReport.__post_init__": {"executed_lines": [208, 209, 212, 213, 214], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 205}, "UnifiedReport._calculate_success_rate": {"executed_lines": [222, 227, 228], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216}, "UnifiedReport._calculate_ai_summary_rate": {"executed_lines": [236, 237], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [239, 244], "excluded_lines": [], "start_line": 230}, "UnifiedReport.validate": {"executed_lines": [252, 255, 259, 263, 264, 265, 269, 270, 271, 272, 276, 279], "summary": {"covered_lines": 12, "num_statements": 17, "percent_covered": 70.58823529411765, "percent_covered_display": "71", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 70.58823529411765, "percent_statements_covered_display": "71"}, "missing_lines": [256, 260, 266, 273, 277], "excluded_lines": [], "start_line": 246}, "UnifiedReport.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [287], "excluded_lines": [], "start_line": 281}, "UnifiedReport.from_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [315], "excluded_lines": [], "start_line": 306}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 30, 31, 32, 33, 34, 36, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 92, 102, 111, 112, 123, 124, 135, 136, 144, 167, 168, 196, 197, 198, 199, 200, 201, 202, 203, 205, 216, 230, 246, 281, 305, 306], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RepositoryAnalysis": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38], "excluded_lines": [], "start_line": 15}, "Report": {"executed_lines": [81, 82, 118, 120, 121, 130, 132, 133, 142], "summary": {"covered_lines": 9, "num_statements": 16, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 56.25, "percent_statements_covered_display": "56"}, "missing_lines": [98, 100, 108, 109, 119, 131, 150], "excluded_lines": [], "start_line": 49}, "UnifiedReport": {"executed_lines": [208, 209, 212, 213, 214, 222, 227, 228, 236, 237, 252, 255, 259, 263, 264, 265, 269, 270, 271, 272, 276, 279], "summary": {"covered_lines": 22, "num_statements": 31, "percent_covered": 70.96774193548387, "percent_covered_display": "71", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 70.96774193548387, "percent_statements_covered_display": "71"}, "missing_lines": [239, 244, 256, 260, 266, 273, 277, 287, 315], "excluded_lines": [], "start_line": 168}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 30, 31, 32, 33, 34, 36, 48, 49, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 92, 102, 111, 112, 123, 124, 135, 136, 144, 167, 168, 196, 197, 198, 199, 200, 201, 202, 203, 205, 216, 230, 246, 281, 305, 306], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\repository.py": {"executed_lines": [3, 4, 5, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 33, 34, 35, 36, 48, 49, 52, 53, 54, 55, 64, 73, 75, 76, 85, 86, 87, 88, 112, 113, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 178, 179, 180, 182, 183, 184, 185, 187, 189, 195, 196, 198, 200, 201, 203, 204, 205, 207, 208, 210, 211, 212, 213, 215, 216, 217, 219, 220, 222, 224, 225, 231, 232, 234, 235, 236, 237, 238, 241, 242, 250, 252, 258, 300, 301, 313, 316, 317, 318, 320, 354, 355, 368, 369, 370, 371, 376, 377, 380, 383, 384, 385, 390, 391, 392, 393, 398, 399, 400, 401, 402, 403, 404, 409, 410, 411, 412, 417, 418, 419, 420, 421, 422, 423, 424, 431, 432, 433, 434, 435, 436, 437, 438, 442, 479, 492], "summary": {"covered_lines": 148, "num_statements": 167, "percent_covered": 88.62275449101796, "percent_covered_display": "89", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 88.62275449101796, "percent_statements_covered_display": "89"}, "missing_lines": [190, 199, 239, 372, 373, 386, 387, 394, 395, 405, 406, 413, 414, 425, 426, 427, 428, 439, 440], "excluded_lines": [], "functions": {"RepositoryPullRequestSummary.to_dict": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21}, "RepositoryPullRequestSummary.from_dict": {"executed_lines": [35, 36], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "RepositorySecuritySummary.to_dict": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75}, "RepositorySecuritySummary.from_dict": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 86}, "Repository.__post_init__": {"executed_lines": [189], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [190], "excluded_lines": [], "start_line": 187}, "Repository.age_days": {"executed_lines": [198, 200, 201, 203, 204, 205], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [199], "excluded_lines": [], "start_line": 196}, "Repository.days_since_last_push": {"executed_lines": [210, 211, 212, 213, 215, 216, 217], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 208}, "Repository.is_empty": {"executed_lines": [222], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 220}, "Repository.pages_url": {"executed_lines": [231, 232, 234, 235, 236, 237, 238], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [239], "excluded_lines": [], "start_line": 225}, "Repository.website_url": {"executed_lines": [250], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242}, "Repository.to_dict": {"executed_lines": [258], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 252}, "Repository.from_dict": {"executed_lines": [313, 316, 317, 318, 320], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 301}, "Repository.from_github_repo": {"executed_lines": [368, 369, 370, 371, 376, 377, 380, 383, 384, 385, 390, 391, 392, 393, 398, 399, 400, 401, 402, 403, 404, 409, 410, 411, 412, 417, 418, 419, 420, 421, 422, 423, 424, 431, 432, 433, 434, 435, 436, 437, 438, 442], "summary": {"covered_lines": 42, "num_statements": 58, "percent_covered": 72.41379310344827, "percent_covered_display": "72", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 72.41379310344827, "percent_statements_covered_display": "72"}, "missing_lines": [372, 373, 386, 387, 394, 395, 405, 406, 413, 414, 425, 426, 427, 428, 439, 440], "excluded_lines": [], "start_line": 355}, "Repository.to_dashboard_dict": {"executed_lines": [492], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 479}, "": {"executed_lines": [3, 4, 5, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 21, 33, 34, 48, 49, 52, 53, 54, 55, 64, 73, 75, 85, 86, 112, 113, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 178, 179, 180, 182, 183, 184, 185, 187, 195, 196, 207, 208, 219, 220, 224, 225, 241, 242, 252, 300, 301, 354, 355, 479], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RepositoryPullRequestSummary": {"executed_lines": [22, 35, 36], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9}, "RepositorySecuritySummary": {"executed_lines": [76, 87, 88], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "Repository": {"executed_lines": [189, 198, 200, 201, 203, 204, 205, 210, 211, 212, 213, 215, 216, 217, 222, 231, 232, 234, 235, 236, 237, 238, 250, 258, 313, 316, 317, 318, 320, 368, 369, 370, 371, 376, 377, 380, 383, 384, 385, 390, 391, 392, 393, 398, 399, 400, 401, 402, 403, 404, 409, 410, 411, 412, 417, 418, 419, 420, 421, 422, 423, 424, 431, 432, 433, 434, 435, 436, 437, 438, 442, 492], "summary": {"covered_lines": 72, "num_statements": 91, "percent_covered": 79.12087912087912, "percent_covered_display": "79", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 79.12087912087912, "percent_statements_covered_display": "79"}, "missing_lines": [190, 199, 239, 372, 373, 386, 387, 394, 395, 405, 406, 413, 414, 425, 426, 427, 428, 439, 440], "excluded_lines": [], "start_line": 113}, "": {"executed_lines": [3, 4, 5, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 21, 33, 34, 48, 49, 52, 53, 54, 55, 64, 73, 75, 85, 86, 112, 113, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 178, 179, 180, 182, 183, 184, 185, 187, 195, 196, 207, 208, 219, 220, 224, 225, 241, 242, 252, 300, 301, 354, 355, 479], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\summary.py": {"executed_lines": [3, 4, 5, 8, 9, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 44, 45, 46, 47, 53, 54, 60, 62, 63, 71], "summary": {"covered_lines": 25, "num_statements": 30, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [48, 49, 51, 69, 77], "excluded_lines": [], "functions": {"RepositorySummary.summary": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57"}, "missing_lines": [48, 49, 51], "excluded_lines": [], "start_line": 38}, "RepositorySummary.is_ai_generated": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54}, "RepositorySummary.summary_length": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [69], "excluded_lines": [], "start_line": 63}, "RepositorySummary.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [77], "excluded_lines": [], "start_line": 71}, "": {"executed_lines": [3, 4, 5, 8, 9, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 53, 54, 62, 63, 71], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RepositorySummary": {"executed_lines": [44, 45, 46, 47, 60], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [48, 49, 51, 69, 77], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [3, 4, 5, 8, 9, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 53, 54, 62, 63, 71], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\models\\tech_stack.py": {"executed_lines": [3, 4, 7, 8, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 52, 53, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 87, 88, 91, 94, 95, 97, 103, 104, 107, 108, 109, 116, 123, 125, 126, 136, 137, 145, 146, 156, 157, 163, 164, 173, 191], "summary": {"covered_lines": 55, "num_statements": 77, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [36, 132, 133, 134, 143, 152, 153, 154, 159, 160, 161, 166, 167, 168, 179, 180, 181, 182, 185, 188, 189, 197], "excluded_lines": [], "functions": {"DependencyInfo.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [36], "excluded_lines": [], "start_line": 34}, "TechnologyStack.__post_init__": {"executed_lines": [86, 87, 88, 91, 94, 95], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84}, "TechnologyStack._calculate_currency_score": {"executed_lines": [103, 104, 107, 108, 109, 116, 123], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97}, "TechnologyStack.primary_language": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [132, 133, 134], "excluded_lines": [], "start_line": 126}, "TechnologyStack.language_diversity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [143], "excluded_lines": [], "start_line": 137}, "TechnologyStack.outdated_percentage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [152, 153, 154], "excluded_lines": [], "start_line": 146}, "TechnologyStack.version_coverage_percentage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [159, 160, 161], "excluded_lines": [], "start_line": 157}, "TechnologyStack.latest_version_coverage_percentage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [166, 167, 168], "excluded_lines": [], "start_line": 164}, "TechnologyStack.add_dependency": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [179, 180, 181, 182, 185, 188, 189], "excluded_lines": [], "start_line": 173}, "TechnologyStack.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [197], "excluded_lines": [], "start_line": 191}, "": {"executed_lines": [3, 4, 7, 8, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 52, 53, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 97, 125, 126, 136, 137, 145, 146, 156, 157, 163, 164, 173, 191], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"DependencyInfo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [36], "excluded_lines": [], "start_line": 8}, "TechnologyStack": {"executed_lines": [86, 87, 88, 91, 94, 95, 103, 104, 107, 108, 109, 116, 123], "summary": {"covered_lines": 13, "num_statements": 34, "percent_covered": 38.23529411764706, "percent_covered_display": "38", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 38.23529411764706, "percent_statements_covered_display": "38"}, "missing_lines": [132, 133, 134, 143, 152, 153, 154, 159, 160, 161, 166, 167, 168, 179, 180, 181, 182, 185, 188, 189, 197], "excluded_lines": [], "start_line": 53}, "": {"executed_lines": [3, 4, 7, 8, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 52, 53, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 97, 125, 126, 136, 137, 145, 146, 156, 157, 163, 164, 173, 191], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\ranker.py": {"executed_lines": [10, 11, 12, 14, 15, 16, 19, 23, 24, 25, 28, 29, 30, 33, 34, 35, 38, 39, 40, 42, 48, 49, 52, 53, 54, 56, 72, 74, 75, 77, 82, 83, 84, 86, 87, 88, 89, 91, 92, 95, 98, 100, 101, 106, 108, 110, 122, 123, 124, 126, 133, 135, 137, 154, 158, 159, 164, 166, 168, 188, 195, 198, 199, 201, 203, 212, 213, 214, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 227, 229, 247, 250, 251, 255, 256, 257, 261, 262, 263, 264, 267, 271, 272, 274, 275, 276, 277, 281, 283, 285, 305, 306, 308, 309, 311, 314, 315, 316, 319, 321, 324, 327, 329, 330, 331, 333, 335, 349, 350, 351, 352, 354], "summary": {"covered_lines": 122, "num_statements": 125, "percent_covered": 97.6, "percent_covered_display": "98", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 97.6, "percent_statements_covered_display": "98"}, "missing_lines": [78, 79, 279], "excluded_lines": [], "functions": {"RepositoryRanker.__init__": {"executed_lines": [48, 49, 52, 53, 54], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42}, "RepositoryRanker.rank_repositories": {"executed_lines": [72, 74, 75, 77, 82, 83, 84, 86, 87, 88, 89, 91, 92, 95, 98, 100, 101, 106, 108], "summary": {"covered_lines": 19, "num_statements": 21, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.47619047619048, "percent_statements_covered_display": "90"}, "missing_lines": [78, 79], "excluded_lines": [], "start_line": 56}, "RepositoryRanker._calculate_composite_score": {"executed_lines": [122, 123, 124, 126, 133, 135], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110}, "RepositoryRanker._calculate_popularity_score": {"executed_lines": [154, 158, 159, 164, 166], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137}, "RepositoryRanker._calculate_activity_score": {"executed_lines": [188, 195, 198, 199, 201], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 168}, "RepositoryRanker._calculate_recency_bonus": {"executed_lines": [212, 213, 214, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 227], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203}, "RepositoryRanker._calculate_health_score": {"executed_lines": [247, 250, 251, 255, 256, 257, 261, 262, 263, 264, 267, 271, 272, 274, 275, 276, 277, 281, 283], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [279], "excluded_lines": [], "start_line": 229}, "RepositoryRanker._apply_edge_case_penalties": {"executed_lines": [305, 306, 308, 309, 311, 314, 315, 316, 319, 321, 324, 327, 329, 330, 331, 333], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 285}, "RepositoryRanker.get_ranking_breakdown": {"executed_lines": [349, 350, 351, 352, 354], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 335}, "": {"executed_lines": [10, 11, 12, 14, 15, 16, 19, 23, 24, 25, 28, 29, 30, 33, 34, 35, 38, 39, 40, 42, 56, 110, 137, 168, 203, 229, 285, 335], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"RepositoryRanker": {"executed_lines": [48, 49, 52, 53, 54, 72, 74, 75, 77, 82, 83, 84, 86, 87, 88, 89, 91, 92, 95, 98, 100, 101, 106, 108, 122, 123, 124, 126, 133, 135, 154, 158, 159, 164, 166, 188, 195, 198, 199, 201, 212, 213, 214, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 227, 247, 250, 251, 255, 256, 257, 261, 262, 263, 264, 267, 271, 272, 274, 275, 276, 277, 281, 283, 305, 306, 308, 309, 311, 314, 315, 316, 319, 321, 324, 327, 329, 330, 331, 333, 349, 350, 351, 352, 354], "summary": {"covered_lines": 94, "num_statements": 97, "percent_covered": 96.90721649484536, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 96.90721649484536, "percent_statements_covered_display": "97"}, "missing_lines": [78, 79, 279], "excluded_lines": [], "start_line": 19}, "": {"executed_lines": [10, 11, 12, 14, 15, 16, 19, 23, 24, 25, 28, 29, 30, 33, 34, 35, 38, 39, 40, 42, 56, 110, 137, 168, 203, 229, 285, 335], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\refresh.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 106, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 106, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 4, 5, 6, 8, 9, 10, 11, 14, 17, 18, 19, 20, 21, 23, 40, 43, 44, 45, 48, 49, 50, 53, 54, 55, 57, 58, 59, 61, 63, 64, 67, 68, 70, 72, 75, 78, 79, 80, 81, 84, 85, 86, 87, 89, 90, 91, 92, 94, 95, 96, 103, 104, 106, 107, 108, 111, 114, 117, 120, 128, 142, 143, 144, 145, 147, 148, 149, 150, 151, 153, 159, 162, 163, 164, 165, 166, 167, 168, 169, 171, 178, 180, 181, 182, 184, 185, 187, 195, 198, 199, 203, 205, 212, 214, 216, 219, 220, 221, 222, 223, 226, 227, 228, 229, 230], "excluded_lines": [], "functions": {"SmartRefresh.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21], "excluded_lines": [], "start_line": 17}, "SmartRefresh.refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 56, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 56, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 43, 44, 45, 48, 49, 50, 53, 54, 55, 57, 58, 59, 61, 63, 64, 67, 68, 70, 72, 75, 78, 79, 80, 81, 84, 85, 86, 87, 89, 90, 91, 92, 94, 95, 96, 103, 104, 106, 107, 108, 111, 114, 117, 120, 128, 142, 143, 144, 145, 147, 148, 149, 150, 151, 153], "excluded_lines": [], "start_line": 23}, "SmartRefresh._fetch_fresh_repo_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [162, 163, 164, 165, 166, 167, 168, 169, 171], "excluded_lines": [], "start_line": 159}, "SmartRefresh._load_existing_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [180, 181, 182, 184, 185], "excluded_lines": [], "start_line": 178}, "SmartRefresh._fetch_detailed_repo_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [195, 198, 199, 203, 205, 212], "excluded_lines": [], "start_line": 187}, "SmartRefresh._clear_summary_caches": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [216, 219, 220, 221, 222, 223, 226, 227, 228, 229, 230], "excluded_lines": [], "start_line": 214}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 4, 5, 6, 8, 9, 10, 11, 14, 17, 23, 159, 178, 187, 214], "excluded_lines": [], "start_line": 1}}, "classes": {"SmartRefresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 91, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 91, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21, 40, 43, 44, 45, 48, 49, 50, 53, 54, 55, 57, 58, 59, 61, 63, 64, 67, 68, 70, 72, 75, 78, 79, 80, 81, 84, 85, 86, 87, 89, 90, 91, 92, 94, 95, 96, 103, 104, 106, 107, 108, 111, 114, 117, 120, 128, 142, 143, 144, 145, 147, 148, 149, 150, 151, 153, 162, 163, 164, 165, 166, 167, 168, 169, 171, 180, 181, 182, 184, 185, 195, 198, 199, 203, 205, 212, 216, 219, 220, 221, 222, 223, 226, 227, 228, 229, 230], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 4, 5, 6, 8, 9, 10, 11, 14, 17, 23, 159, 178, 187, 214], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\report_generator.py": {"executed_lines": [3, 4, 5, 6, 9, 12, 14, 16, 23, 25, 28, 29, 31, 33, 42, 45, 48, 49, 52, 55, 58, 59, 61, 63, 72, 80, 89, 90, 92, 93, 94, 95, 96, 97, 100, 101, 102, 103, 104, 105, 108, 109, 110, 111, 112, 115, 116, 117, 118, 120, 122, 131, 133, 134, 135, 137, 139, 148, 149, 152, 153, 156, 161, 162, 163, 164, 167, 168, 170, 172, 178, 180, 185, 186, 188, 190, 192, 194, 199, 217, 218, 219, 222, 223, 224, 227, 230, 231, 232, 235, 236, 237, 238, 239, 241, 244, 246, 247, 248, 249, 251, 253, 262, 265, 266, 269, 270, 276, 277, 278, 280, 281, 282, 283, 288, 290, 299, 300, 301, 302, 303, 304, 306, 308, 317, 318, 319, 320, 321, 322, 323, 324, 326, 335, 336, 337, 338], "summary": {"covered_lines": 137, "num_statements": 168, "percent_covered": 81.54761904761905, "percent_covered_display": "82", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 81.54761904761905, "percent_statements_covered_display": "82"}, "missing_lines": [169, 171, 173, 174, 175, 177, 179, 181, 182, 187, 189, 191, 193, 195, 196, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 213, 214, 240, 242], "excluded_lines": [], "functions": {"ReportGenerator.__init__": {"executed_lines": [14], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12}, "ReportGenerator.generate_report": {"executed_lines": [23, 25, 28, 29, 31], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "ReportGenerator._build_markdown": {"executed_lines": [42, 45, 48, 49, 52, 55, 58, 59, 61], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "ReportGenerator._generate_header": {"executed_lines": [72], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63}, "ReportGenerator._generate_profile_section": {"executed_lines": [89, 90, 92, 93, 94, 95, 96, 97, 100, 101, 102, 103, 104, 105, 108, 109, 110, 111, 112, 115, 116, 117, 118, 120], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 80}, "ReportGenerator._generate_repositories_section": {"executed_lines": [131, 133, 134, 135, 137], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122}, "ReportGenerator._format_repository_entry": {"executed_lines": [148, 149, 152, 153, 156, 161, 162, 163, 164, 167, 168, 170, 172, 178, 180, 185, 186, 188, 190, 192, 194, 199, 217, 218, 219, 222, 223, 224, 227, 230, 231, 232, 235, 236, 237, 238, 239, 241, 244, 246, 247, 248, 249, 251], "summary": {"covered_lines": 44, "num_statements": 75, "percent_covered": 58.666666666666664, "percent_covered_display": "59", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 58.666666666666664, "percent_statements_covered_display": "59"}, "missing_lines": [169, 171, 173, 174, 175, 177, 179, 181, 182, 187, 189, 191, 193, 195, 196, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 213, 214, 240, 242], "excluded_lines": [], "start_line": 139}, "ReportGenerator._format_tech_stack": {"executed_lines": [262, 265, 266, 269, 270, 276, 277, 278, 280, 281, 282, 283, 288], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 253}, "ReportGenerator._get_currency_emoji": {"executed_lines": [299, 300, 301, 302, 303, 304, 306], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290}, "ReportGenerator._generate_metadata_section": {"executed_lines": [317, 318, 319, 320, 321, 322, 323, 324], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 308}, "ReportGenerator._generate_errors_section": {"executed_lines": [335, 336, 337, 338], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326}, "": {"executed_lines": [3, 4, 5, 6, 9, 12, 16, 33, 63, 80, 122, 139, 253, 290, 308, 326], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"ReportGenerator": {"executed_lines": [14, 23, 25, 28, 29, 31, 42, 45, 48, 49, 52, 55, 58, 59, 61, 72, 89, 90, 92, 93, 94, 95, 96, 97, 100, 101, 102, 103, 104, 105, 108, 109, 110, 111, 112, 115, 116, 117, 118, 120, 131, 133, 134, 135, 137, 148, 149, 152, 153, 156, 161, 162, 163, 164, 167, 168, 170, 172, 178, 180, 185, 186, 188, 190, 192, 194, 199, 217, 218, 219, 222, 223, 224, 227, 230, 231, 232, 235, 236, 237, 238, 239, 241, 244, 246, 247, 248, 249, 251, 262, 265, 266, 269, 270, 276, 277, 278, 280, 281, 282, 283, 288, 299, 300, 301, 302, 303, 304, 306, 317, 318, 319, 320, 321, 322, 323, 324, 335, 336, 337, 338], "summary": {"covered_lines": 121, "num_statements": 152, "percent_covered": 79.60526315789474, "percent_covered_display": "80", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 79.60526315789474, "percent_statements_covered_display": "80"}, "missing_lines": [169, 171, 173, 174, 175, 177, 179, 181, 182, 187, 189, 191, 193, 195, 196, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 213, 214, 240, 242], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [3, 4, 5, 6, 9, 12, 16, 33, 63, 80, 122, 139, 253, 290, 308, 326], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\screenshot.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 132, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 132, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 17, 20, 28, 29, 32, 35, 37, 52, 53, 54, 55, 56, 57, 59, 61, 63, 73, 74, 76, 85, 86, 87, 89, 105, 106, 107, 110, 111, 112, 115, 116, 117, 118, 120, 122, 124, 125, 127, 128, 129, 130, 138, 139, 140, 145, 146, 151, 153, 154, 155, 156, 157, 158, 159, 161, 189, 190, 191, 194, 195, 196, 197, 199, 200, 202, 204, 205, 208, 212, 214, 217, 220, 227, 230, 235, 245, 246, 247, 260, 261, 264, 266, 267, 268, 270, 289, 290, 291, 292, 293, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 310, 311, 312, 313, 314, 317, 318, 319, 320, 321, 324, 332, 333, 335, 337, 341, 343, 349, 351, 353, 355, 357, 358], "excluded_lines": [], "functions": {"ScreenshotCapture.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [52, 53, 54, 55, 56, 57], "excluded_lines": [], "start_line": 37}, "ScreenshotCapture._ensure_output_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61], "excluded_lines": [], "start_line": 59}, "ScreenshotCapture._get_screenshot_filename": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [73, 74], "excluded_lines": [], "start_line": 63}, "ScreenshotCapture._get_cache_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [85, 86, 87], "excluded_lines": [], "start_line": 76}, "ScreenshotCapture._is_cached": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [105, 106, 107, 110, 111, 112, 115, 116, 117, 118, 120], "excluded_lines": [], "start_line": 89}, "ScreenshotCapture._start_browser": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124, 125, 127, 128, 129, 130, 138, 139, 140, 145, 146], "excluded_lines": [], "start_line": 122}, "ScreenshotCapture._stop_browser": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [153, 154, 155, 156, 157, 158, 159], "excluded_lines": [], "start_line": 151}, "ScreenshotCapture.capture_screenshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [189, 190, 191, 194, 195, 196, 197, 199, 200, 202, 204, 205, 208, 212, 214, 217, 220, 227, 230, 235, 245, 246, 247, 260, 261, 264, 266, 267, 268], "excluded_lines": [], "start_line": 161}, "ScreenshotCapture.capture_batch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [289, 290, 291, 292, 293, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 310, 311, 312, 313, 314, 317, 318, 319, 320, 321, 324, 332, 333, 335, 337, 341, 343, 349], "excluded_lines": [], "start_line": 270}, "ScreenshotCapture.__enter__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [353], "excluded_lines": [], "start_line": 351}, "ScreenshotCapture.__exit__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [357, 358], "excluded_lines": [], "start_line": 355}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 17, 20, 28, 29, 32, 35, 37, 59, 63, 76, 89, 122, 151, 161, 270, 351, 355], "excluded_lines": [], "start_line": 1}}, "classes": {"ScreenshotCapture": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 107, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 107, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [52, 53, 54, 55, 56, 57, 61, 73, 74, 85, 86, 87, 105, 106, 107, 110, 111, 112, 115, 116, 117, 118, 120, 124, 125, 127, 128, 129, 130, 138, 139, 140, 145, 146, 153, 154, 155, 156, 157, 158, 159, 189, 190, 191, 194, 195, 196, 197, 199, 200, 202, 204, 205, 208, 212, 214, 217, 220, 227, 230, 235, 245, 246, 247, 260, 261, 264, 266, 267, 268, 289, 290, 291, 292, 293, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 310, 311, 312, 313, 314, 317, 318, 319, 320, 321, 324, 332, 333, 335, 337, 341, 343, 349, 353, 357, 358], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 17, 20, 28, 29, 32, 35, 37, 59, 63, 76, 89, 122, 151, 161, 270, 351, 355], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\summarizer.py": {"executed_lines": [9, 10, 11, 12, 13, 15, 16, 20, 21, 22, 23, 24, 25, 26, 29, 33, 37, 38, 43, 50, 64, 65, 66, 67, 68, 69, 72, 73, 74, 77, 78, 88, 89, 91, 92, 94, 96, 97, 98, 99, 100, 101, 103, 108, 137, 140, 156, 157, 160, 162, 186, 189, 195, 198, 202, 205, 206, 207, 208, 210, 222, 223, 224, 225, 226, 227, 228, 233, 234, 235, 238, 239, 240, 241, 242, 244, 247, 248, 251, 252, 254, 258, 269, 270, 278, 283, 292, 294, 311, 312, 315, 317, 318, 320, 321, 323, 324, 327, 328, 329, 330, 331, 334, 335, 337, 339, 347, 361, 364, 365, 367, 370, 371, 374, 375, 378, 379, 381, 383, 391, 411, 420, 421, 422, 423, 424, 427, 428, 429, 430, 433, 434, 435, 436, 437, 438, 439, 440, 442, 443, 446, 454, 455, 465, 467, 476, 477, 480, 483, 488, 489, 491, 493, 503, 504, 506, 507, 508, 511, 515, 516, 517, 520, 524, 525, 528, 529, 531, 533, 534, 535, 537, 546, 549, 550, 552, 553, 555, 556, 557, 558, 559, 561, 563, 574, 575, 577, 578, 580, 588, 589, 590, 592, 601, 602, 604, 606, 612, 613, 615, 626, 629, 635, 636, 638, 656, 659, 660, 667, 668, 669, 670, 671, 674, 675, 676, 677, 680, 683, 686, 696, 699, 700, 703, 704, 705, 706, 707, 708, 710, 712, 714, 732, 735, 736, 737, 740, 741, 751, 756, 757, 767, 777, 779, 791, 811, 817, 819, 828, 831, 839, 842, 843, 846, 847, 849, 852, 854, 855, 857], "summary": {"covered_lines": 260, "num_statements": 286, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [17, 18, 79, 80, 81, 82, 83, 84, 85, 86, 141, 142, 152, 153, 245, 441, 447, 448, 449, 450, 451, 452, 512, 521, 768, 853], "excluded_lines": [], "functions": {"RepositorySummarizer.__init__": {"executed_lines": [64, 65, 66, 67, 68, 69, 72, 73, 74, 77, 78], "summary": {"covered_lines": 11, "num_statements": 19, "percent_covered": 57.89473684210526, "percent_covered_display": "58", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 57.89473684210526, "percent_statements_covered_display": "58"}, "missing_lines": [79, 80, 81, 82, 83, 84, 85, 86], "excluded_lines": [], "start_line": 50}, "RepositorySummarizer._normalize_model_name": {"executed_lines": [91, 92], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89}, "RepositorySummarizer._candidate_models": {"executed_lines": [96, 97, 98, 99, 100, 101], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94}, "RepositorySummarizer.summarize_repository": {"executed_lines": [137, 140, 156, 157, 160], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 55.55555555555556, "percent_statements_covered_display": "56"}, "missing_lines": [141, 142, 152, 153], "excluded_lines": [], "start_line": 108}, "RepositorySummarizer._generate_ai_summary": {"executed_lines": [186, 189, 195, 198, 202, 205, 206, 207, 208, 210, 222, 223, 224, 225, 226, 227, 228, 233, 234, 235, 238, 239, 240, 241, 242, 244, 247, 248, 251, 252, 254, 258, 269, 270, 278, 283, 292], "summary": {"covered_lines": 37, "num_statements": 38, "percent_covered": 97.36842105263158, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.36842105263158, "percent_statements_covered_display": "97"}, "missing_lines": [245], "excluded_lines": [], "start_line": 162}, "RepositorySummarizer._generate_enhanced_fallback": {"executed_lines": [311, 312, 315, 317, 318, 320, 321, 323, 324, 327, 328, 329, 330, 331, 334, 335, 337, 339], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 294}, "RepositorySummarizer._generate_basic_fallback": {"executed_lines": [361, 364, 365, 367, 370, 371, 374, 375, 378, 379, 381, 383], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347}, "RepositorySummarizer._build_repository_prompt": {"executed_lines": [411, 420, 421, 422, 423, 424, 427, 428, 429, 430, 433, 434, 435, 436, 437, 438, 439, 440, 442, 443, 446, 454, 455, 465], "summary": {"covered_lines": 24, "num_statements": 31, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 77.41935483870968, "percent_statements_covered_display": "77"}, "missing_lines": [441, 447, 448, 449, 450, 451, 452], "excluded_lines": [], "start_line": 391}, "RepositorySummarizer._truncate_readme": {"executed_lines": [476, 477, 480, 483, 488, 489, 491], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 467}, "RepositorySummarizer._extract_description": {"executed_lines": [503, 504, 506, 507, 508, 511, 515, 516, 517, 520, 524, 525, 528, 529, 531, 533, 534, 535], "summary": {"covered_lines": 18, "num_statements": 20, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [512, 521], "excluded_lines": [], "start_line": 493}, "RepositorySummarizer._extract_features": {"executed_lines": [546, 549, 550, 552, 553, 555, 556, 557, 558, 559, 561], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 537}, "RepositorySummarizer._track_cost": {"executed_lines": [574, 575, 577, 578], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 563}, "RepositorySummarizer._build_cache_metadata": {"executed_lines": [588, 589, 590, 592, 601, 602, 604], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 580}, "RepositorySummarizer.get_usage_stats": {"executed_lines": [612, 613, 615], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 606}, "UserProfileGenerator.__init__": {"executed_lines": [635, 636], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 629}, "UserProfileGenerator.generate_profile": {"executed_lines": [656, 659, 660, 667, 668, 669, 670, 671, 674, 675, 676, 677, 680, 683, 686, 696, 699, 700, 703, 704, 705, 706, 707, 708, 710, 712], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 638}, "UserProfileGenerator._detect_activity_patterns": {"executed_lines": [732, 735, 736, 737, 740, 741, 751, 756, 757, 767, 777], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [768], "excluded_lines": [], "start_line": 714}, "UserProfileGenerator._generate_ai_impression": {"executed_lines": [791, 811, 817], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 779}, "UserProfileGenerator._generate_template_impression": {"executed_lines": [828, 831, 839, 842, 843, 846, 847, 849, 852, 854, 855, 857], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92"}, "missing_lines": [853], "excluded_lines": [], "start_line": 819}, "": {"executed_lines": [9, 10, 11, 12, 13, 15, 16, 20, 21, 22, 23, 24, 25, 26, 29, 33, 37, 38, 43, 50, 88, 89, 94, 103, 108, 162, 294, 347, 391, 467, 493, 537, 563, 580, 606, 626, 629, 638, 714, 779, 819], "summary": {"covered_lines": 41, "num_statements": 43, "percent_covered": 95.34883720930233, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.34883720930233, "percent_statements_covered_display": "95"}, "missing_lines": [17, 18], "excluded_lines": [], "start_line": 1}}, "classes": {"RepositorySummarizer": {"executed_lines": [64, 65, 66, 67, 68, 69, 72, 73, 74, 77, 78, 91, 92, 96, 97, 98, 99, 100, 101, 137, 140, 156, 157, 160, 186, 189, 195, 198, 202, 205, 206, 207, 208, 210, 222, 223, 224, 225, 226, 227, 228, 233, 234, 235, 238, 239, 240, 241, 242, 244, 247, 248, 251, 252, 254, 258, 269, 270, 278, 283, 292, 311, 312, 315, 317, 318, 320, 321, 323, 324, 327, 328, 329, 330, 331, 334, 335, 337, 339, 361, 364, 365, 367, 370, 371, 374, 375, 378, 379, 381, 383, 411, 420, 421, 422, 423, 424, 427, 428, 429, 430, 433, 434, 435, 436, 437, 438, 439, 440, 442, 443, 446, 454, 455, 465, 476, 477, 480, 483, 488, 489, 491, 503, 504, 506, 507, 508, 511, 515, 516, 517, 520, 524, 525, 528, 529, 531, 533, 534, 535, 546, 549, 550, 552, 553, 555, 556, 557, 558, 559, 561, 574, 575, 577, 578, 588, 589, 590, 592, 601, 602, 604, 612, 613, 615], "summary": {"covered_lines": 165, "num_statements": 187, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 88.23529411764706, "percent_statements_covered_display": "88"}, "missing_lines": [79, 80, 81, 82, 83, 84, 85, 86, 141, 142, 152, 153, 245, 441, 447, 448, 449, 450, 451, 452, 512, 521], "excluded_lines": [], "start_line": 29}, "UserProfileGenerator": {"executed_lines": [635, 636, 656, 659, 660, 667, 668, 669, 670, 671, 674, 675, 676, 677, 680, 683, 686, 696, 699, 700, 703, 704, 705, 706, 707, 708, 710, 712, 732, 735, 736, 737, 740, 741, 751, 756, 757, 767, 777, 791, 811, 817, 828, 831, 839, 842, 843, 846, 847, 849, 852, 854, 855, 857], "summary": {"covered_lines": 54, "num_statements": 56, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96"}, "missing_lines": [768, 853], "excluded_lines": [], "start_line": 626}, "": {"executed_lines": [9, 10, 11, 12, 13, 15, 16, 20, 21, 22, 23, 24, 25, 26, 29, 33, 37, 38, 43, 50, 88, 89, 94, 103, 108, 162, 294, 347, 391, 467, 493, 537, 563, 580, 606, 626, 629, 638, 714, 779, 819], "summary": {"covered_lines": 41, "num_statements": 43, "percent_covered": 95.34883720930233, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.34883720930233, "percent_statements_covered_display": "95"}, "missing_lines": [17, 18], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\themes\\__init__.py": {"executed_lines": [3, 4, 7, 10, 11, 12, 16, 17, 18, 22, 23, 24, 28, 29, 30, 34, 35, 36, 40, 41, 42, 46, 47, 59, 76], "summary": {"covered_lines": 25, "num_statements": 33, "percent_covered": 75.75757575757575, "percent_covered_display": "76", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 75.75757575757575, "percent_statements_covered_display": "76"}, "missing_lines": [14, 20, 26, 32, 38, 44, 53, 65], "excluded_lines": [], "functions": {"Theme.name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14], "excluded_lines": [], "start_line": 12}, "Theme.primary_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20], "excluded_lines": [], "start_line": 18}, "Theme.accent_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26], "excluded_lines": [], "start_line": 24}, "Theme.background_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32], "excluded_lines": [], "start_line": 30}, "Theme.text_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38], "excluded_lines": [], "start_line": 36}, "Theme.border_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [44], "excluded_lines": [], "start_line": 42}, "Theme.effects": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [53], "excluded_lines": [], "start_line": 47}, "Theme.to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [65], "excluded_lines": [], "start_line": 59}, "": {"executed_lines": [3, 4, 7, 10, 11, 12, 16, 17, 18, 22, 23, 24, 28, 29, 30, 34, 35, 36, 40, 41, 42, 46, 47, 59, 76], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"Theme": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 20, 26, 32, 38, 44, 53, 65], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [3, 4, 7, 10, 11, 12, 16, 17, 18, 22, 23, 24, 28, 29, 30, 34, 35, 36, 40, 41, 42, 46, 47, 59, 76], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\themes\\custom.py": {"executed_lines": [3, 4, 7, 10, 16, 17, 19, 20, 22, 24, 25, 27, 29, 30, 34, 35, 39, 40, 44, 45, 49, 50, 52, 58, 59, 72, 73, 76, 77, 78], "summary": {"covered_lines": 30, "num_statements": 35, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [32, 37, 42, 47, 74], "excluded_lines": [], "functions": {"CustomTheme.__init__": {"executed_lines": [16, 17], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10}, "CustomTheme.name": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "CustomTheme.primary_color": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "CustomTheme.accent_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32], "excluded_lines": [], "start_line": 30}, "CustomTheme.background_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37], "excluded_lines": [], "start_line": 35}, "CustomTheme.text_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [42], "excluded_lines": [], "start_line": 40}, "CustomTheme.border_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [47], "excluded_lines": [], "start_line": 45}, "CustomTheme.effects": {"executed_lines": [52], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50}, "CustomTheme.load_from_yaml": {"executed_lines": [72, 73, 76, 77, 78], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [74], "excluded_lines": [], "start_line": 59}, "": {"executed_lines": [3, 4, 7, 10, 19, 20, 24, 25, 29, 30, 34, 35, 39, 40, 44, 45, 49, 50, 58, 59], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"CustomTheme": {"executed_lines": [16, 17, 22, 27, 52, 72, 73, 76, 77, 78], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [32, 37, 42, 47, 74], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [3, 4, 7, 10, 19, 20, 24, 25, 29, 30, 34, 35, 39, 40, 44, 45, 49, 50, 58, 59], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\themes\\spark_dark.py": {"executed_lines": [3, 6, 9, 10, 14, 15, 17, 19, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 37, 39, 40, 42], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.65217391304348, "percent_statements_covered_display": "96"}, "missing_lines": [12], "excluded_lines": [], "functions": {"SparkDarkTheme.name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12], "excluded_lines": [], "start_line": 10}, "SparkDarkTheme.primary_color": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "SparkDarkTheme.accent_color": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "SparkDarkTheme.background_color": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "SparkDarkTheme.text_color": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "SparkDarkTheme.border_color": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "SparkDarkTheme.effects": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "": {"executed_lines": [3, 6, 9, 10, 14, 15, 19, 20, 24, 25, 29, 30, 34, 35, 39, 40], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SparkDarkTheme": {"executed_lines": [17, 22, 27, 32, 37, 42], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [12], "excluded_lines": [], "start_line": 6}, "": {"executed_lines": [3, 6, 9, 10, 14, 15, 19, 20, 24, 25, 29, 30, 34, 35, 39, 40], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\themes\\spark_light.py": {"executed_lines": [3, 6, 9, 10, 14, 15, 17, 19, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 37, 39, 40, 42], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.65217391304348, "percent_statements_covered_display": "96"}, "missing_lines": [12], "excluded_lines": [], "functions": {"SparkLightTheme.name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12], "excluded_lines": [], "start_line": 10}, "SparkLightTheme.primary_color": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "SparkLightTheme.accent_color": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20}, "SparkLightTheme.background_color": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25}, "SparkLightTheme.text_color": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30}, "SparkLightTheme.border_color": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 35}, "SparkLightTheme.effects": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "": {"executed_lines": [3, 6, 9, 10, 14, 15, 19, 20, 24, 25, 29, 30, 34, 35, 39, 40], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"SparkLightTheme": {"executed_lines": [17, 22, 27, 32, 37, 42], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86"}, "missing_lines": [12], "excluded_lines": [], "start_line": 6}, "": {"executed_lines": [3, 6, 9, 10, 14, 15, 19, 20, 24, 25, 29, 30, 34, 35, 39, 40], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\time_utils.py": {"executed_lines": [3, 4, 7, 20, 21, 23, 24, 25], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"sanitize_timestamp_for_filename": {"executed_lines": [20, 21, 23, 24, 25], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "": {"executed_lines": [3, 4, 7], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 4, 7, 20, 21, 23, 24, 25], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\unified_data_generator.py": {"executed_lines": [16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 32, 33, 34, 35, 38, 41, 51, 72, 73, 74, 75, 78, 79, 80, 81, 82, 85, 86, 91, 93, 94, 95, 98, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 130, 131, 138, 148, 149, 150, 151, 152, 158, 159, 160, 161, 162, 164, 165, 173, 174, 175, 176, 187, 188, 189, 193, 204, 210, 211, 212, 213, 214, 215, 217, 229, 237, 238, 239, 240, 241, 242, 244, 246, 247, 248, 249, 250, 251, 252, 253, 256, 264, 275, 277, 278, 279, 280, 281, 282, 284, 287, 288, 289, 290, 291, 294, 295, 296, 302, 303, 308, 309, 310, 311, 312, 314, 315, 316, 317, 318, 319, 320, 322, 324, 330, 331, 332, 333, 340, 351, 352, 353, 354, 357, 359, 360, 361, 363, 365, 366, 367, 368, 371, 373, 376, 382, 383, 397, 404, 405, 406, 407, 409, 410, 413, 416, 419, 423, 426, 429, 432, 437, 439, 442, 443, 444, 454, 455, 456, 477, 478, 481, 482, 483, 484, 485, 486, 493, 494, 495, 498, 499, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 517, 518, 519, 526, 527, 528, 530, 531, 532, 533, 535, 536, 537, 538, 539, 540, 542, 543, 547, 548, 558, 564, 565, 566, 576, 587, 601, 607, 662, 664, 669, 670, 673, 682, 693, 699, 711, 712, 715, 718, 719, 721, 722, 723, 724, 726, 727, 728, 730, 732, 733, 734], "summary": {"covered_lines": 259, "num_statements": 271, "percent_covered": 95.5719557195572, "percent_covered_display": "96", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 95.5719557195572, "percent_statements_covered_display": "96"}, "missing_lines": [254, 369, 433, 434, 435, 436, 438, 440, 534, 549, 550, 551], "excluded_lines": [], "functions": {"UnifiedDataGenerator.__init__": {"executed_lines": [72, 73, 74, 75, 78, 79, 80, 81, 82, 85, 86, 91, 93, 94, 95, 98], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51}, "UnifiedDataGenerator._calculate_staleness_score": {"executed_lines": [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101}, "UnifiedDataGenerator._calculate_pull_request_pressure": {"executed_lines": [118, 119, 120, 130, 131, 138], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 117}, "UnifiedDataGenerator._calculate_security_attention": {"executed_lines": [150, 151, 152, 158, 159, 160, 161, 162, 164, 165], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149}, "UnifiedDataGenerator._calculate_dependency_attention": {"executed_lines": [175, 176, 187, 188, 189, 193], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174}, "UnifiedDataGenerator._build_attention_metrics": {"executed_lines": [210, 211, 212, 213, 214, 215, 217, 229, 237, 238, 239, 240, 241, 242, 244, 246, 247, 248, 249, 250, 251, 252, 253, 256], "summary": {"covered_lines": 24, "num_statements": 25, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.0, "percent_statements_covered_display": "96"}, "missing_lines": [254], "excluded_lines": [], "start_line": 204}, "UnifiedDataGenerator.generate": {"executed_lines": [275, 277, 278, 279, 280, 281, 282, 284, 287, 288, 289, 290, 291, 294, 295, 296, 302, 303, 308, 309, 310, 311, 312, 314, 315, 316, 317, 318, 319, 320, 322], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264}, "UnifiedDataGenerator._fetch_repository_list": {"executed_lines": [330, 331, 332, 333], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 324}, "UnifiedDataGenerator._assemble_data": {"executed_lines": [351, 352, 353, 354, 357, 359, 360, 361, 363, 365, 366, 367, 368, 371, 373, 376, 382, 383, 397, 404, 405, 406, 407, 409, 410, 413, 416, 419, 423, 426, 429, 432, 437, 439, 442, 443, 444, 454, 455, 456, 477, 478, 481, 482, 483, 484, 485, 486, 493, 494, 495, 498, 499, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 517, 518, 519, 526, 527, 528, 530, 531, 532, 533, 535, 536, 537, 538, 539, 540, 542, 543, 547, 548, 558, 564, 565, 566, 576, 587, 601, 607, 662, 664, 669, 670, 673, 682, 693], "summary": {"covered_lines": 102, "num_statements": 113, "percent_covered": 90.26548672566372, "percent_covered_display": "90", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 90.26548672566372, "percent_statements_covered_display": "90"}, "missing_lines": [369, 433, 434, 435, 436, 438, 440, 534, 549, 550, 551], "excluded_lines": [], "start_line": 340}, "UnifiedDataGenerator.save": {"executed_lines": [711, 712, 715, 718, 719, 721, 722, 723, 724, 726, 727, 728, 730, 732, 733, 734], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 699}, "": {"executed_lines": [16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 32, 33, 34, 35, 38, 41, 51, 100, 101, 116, 117, 148, 149, 173, 174, 204, 264, 324, 340, 699], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"UnifiedDataGenerator": {"executed_lines": [72, 73, 74, 75, 78, 79, 80, 81, 82, 85, 86, 91, 93, 94, 95, 98, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, 130, 131, 138, 150, 151, 152, 158, 159, 160, 161, 162, 164, 165, 175, 176, 187, 188, 189, 193, 210, 211, 212, 213, 214, 215, 217, 229, 237, 238, 239, 240, 241, 242, 244, 246, 247, 248, 249, 250, 251, 252, 253, 256, 275, 277, 278, 279, 280, 281, 282, 284, 287, 288, 289, 290, 291, 294, 295, 296, 302, 303, 308, 309, 310, 311, 312, 314, 315, 316, 317, 318, 319, 320, 322, 330, 331, 332, 333, 351, 352, 353, 354, 357, 359, 360, 361, 363, 365, 366, 367, 368, 371, 373, 376, 382, 383, 397, 404, 405, 406, 407, 409, 410, 413, 416, 419, 423, 426, 429, 432, 437, 439, 442, 443, 444, 454, 455, 456, 477, 478, 481, 482, 483, 484, 485, 486, 493, 494, 495, 498, 499, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 517, 518, 519, 526, 527, 528, 530, 531, 532, 533, 535, 536, 537, 538, 539, 540, 542, 543, 547, 548, 558, 564, 565, 566, 576, 587, 601, 607, 662, 664, 669, 670, 673, 682, 693, 711, 712, 715, 718, 719, 721, 722, 723, 724, 726, 727, 728, 730, 732, 733, 734], "summary": {"covered_lines": 228, "num_statements": 240, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [254, 369, 433, 434, 435, 436, 438, 440, 534, 549, 550, 551], "excluded_lines": [], "start_line": 41}, "": {"executed_lines": [16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 32, 33, 34, 35, 38, 41, 51, 100, 101, 116, 117, 148, 149, 173, 174, 204, 264, 324, 340, 699], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\unified_report_generator.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 152, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 152, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 4, 6, 7, 8, 9, 12, 23, 29, 30, 31, 32, 33, 34, 35, 38, 40, 51, 54, 55, 56, 59, 62, 63, 64, 69, 70, 72, 73, 75, 79, 91, 92, 93, 94, 95, 97, 99, 105, 108, 110, 121, 123, 129, 132, 139, 141, 145, 146, 147, 149, 150, 151, 152, 153, 155, 156, 158, 159, 161, 172, 180, 182, 184, 190, 191, 193, 194, 195, 196, 198, 200, 209, 212, 215, 216, 217, 219, 220, 221, 223, 227, 230, 231, 232, 234, 235, 236, 238, 242, 245, 247, 248, 250, 251, 254, 255, 256, 259, 260, 261, 262, 263, 265, 266, 270, 273, 274, 276, 277, 278, 280, 282, 288, 291, 292, 293, 295, 296, 298, 299, 301, 302, 304, 305, 306, 309, 310, 311, 312, 313, 314, 315, 316, 319, 320, 321, 322, 323, 324, 327, 328, 329, 330, 331, 332, 334, 335, 338, 339, 340, 342], "excluded_lines": [], "functions": {"UnifiedReportGenerator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 38], "excluded_lines": [], "start_line": 23}, "UnifiedReportGenerator.generate_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51, 54, 55, 56, 59, 62, 63, 64, 69, 70, 72, 73, 75], "excluded_lines": [], "start_line": 40}, "UnifiedReportGenerator.generate_markdown": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [91, 92, 93, 94, 95, 97], "excluded_lines": [], "start_line": 79}, "UnifiedReportGenerator._generate_header": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [105, 108, 110, 121], "excluded_lines": [], "start_line": 99}, "UnifiedReportGenerator._generate_profile_overview": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [129, 132, 139, 141, 145, 146, 147, 149, 150, 151, 152, 153, 155, 156, 158, 159], "excluded_lines": [], "start_line": 123}, "UnifiedReportGenerator._embed_svg": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [172, 180, 182], "excluded_lines": [], "start_line": 161}, "UnifiedReportGenerator._generate_repository_analysis": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [190, 191, 193, 194, 195, 196, 198], "excluded_lines": [], "start_line": 184}, "UnifiedReportGenerator._format_repository_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [209, 212, 215, 216, 217, 219, 220, 221, 223, 227, 230, 231, 232, 234, 235, 236, 238, 242, 245, 247, 248, 250, 251, 254, 255, 256, 259, 260, 261, 262, 263, 265, 266, 270, 273, 274, 276, 277, 278, 280], "excluded_lines": [], "start_line": 200}, "UnifiedReportGenerator._generate_footer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [288, 291, 292, 293, 295, 296, 298, 299, 301, 302, 304, 305, 306, 309, 310, 311, 312, 313, 314, 315, 316, 319, 320, 321, 322, 323, 324, 327, 328, 329, 330, 331, 332, 334, 335, 338, 339, 340, 342], "excluded_lines": [], "start_line": 282}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 4, 6, 7, 8, 9, 12, 23, 40, 79, 99, 123, 161, 184, 200, 282], "excluded_lines": [], "start_line": 1}}, "classes": {"UnifiedReportGenerator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 136, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 136, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 38, 51, 54, 55, 56, 59, 62, 63, 64, 69, 70, 72, 73, 75, 91, 92, 93, 94, 95, 97, 105, 108, 110, 121, 129, 132, 139, 141, 145, 146, 147, 149, 150, 151, 152, 153, 155, 156, 158, 159, 172, 180, 182, 190, 191, 193, 194, 195, 196, 198, 209, 212, 215, 216, 217, 219, 220, 221, 223, 227, 230, 231, 232, 234, 235, 236, 238, 242, 245, 247, 248, 250, 251, 254, 255, 256, 259, 260, 261, 262, 263, 265, 266, 270, 273, 274, 276, 277, 278, 280, 288, 291, 292, 293, 295, 296, 298, 299, 301, 302, 304, 305, 306, 309, 310, 311, 312, 313, 314, 315, 316, 319, 320, 321, 322, 323, 324, 327, 328, 329, 330, 331, 332, 334, 335, 338, 339, 340, 342], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [3, 4, 6, 7, 8, 9, 12, 23, 40, 79, 99, 123, 161, 184, 200, 282], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\unified_report_workflow.py": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 29, 30, 31, 34, 47, 63, 64, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 85, 86, 89, 96, 98, 100, 102, 104, 106, 107, 108, 109, 110, 112, 124, 125, 128, 129, 139, 140, 141, 142, 143, 144, 148, 149, 150, 153, 154, 155, 159, 166, 167, 175, 176, 177, 179, 184, 186, 191, 203, 204, 206, 207, 209, 210, 218, 219, 222, 223, 224, 225, 226, 227, 240, 241, 242, 245, 250, 251, 252, 253, 254, 260, 276, 277, 278, 283, 284, 288, 305, 307, 310, 311, 312, 313, 315, 316, 317, 319, 320, 322, 324, 327, 329, 332, 341, 353, 354, 357, 358, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 374, 376, 377, 378, 381, 387, 388, 400, 406, 407, 413, 415, 416, 420, 421, 424, 425, 427, 428, 430, 431, 438, 441, 443, 460, 461, 468, 469, 473, 474, 478, 479, 483, 484, 488, 489, 494, 496, 512, 515, 518, 519, 523, 524, 525, 528, 536, 544, 545, 546, 549, 550, 552, 559, 561, 564, 574, 580, 581, 607, 615, 622, 625, 627, 645, 647, 661, 662, 668], "summary": {"covered_lines": 209, "num_statements": 257, "percent_covered": 81.32295719844358, "percent_covered_display": "81", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 81.32295719844358, "percent_statements_covered_display": "81"}, "missing_lines": [87, 130, 131, 132, 168, 169, 173, 174, 211, 212, 216, 228, 229, 233, 246, 247, 261, 262, 270, 279, 280, 281, 298, 299, 308, 323, 325, 328, 330, 333, 390, 396, 397, 409, 410, 417, 418, 433, 434, 435, 568, 569, 595, 617, 618, 619, 663, 666], "excluded_lines": [], "functions": {"UnifiedReportWorkflow.__init__": {"executed_lines": [63, 64, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 85, 86, 89], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [87], "excluded_lines": [], "start_line": 47}, "UnifiedReportWorkflow._resolve_theme": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96}, "UnifiedReportWorkflow._create_visualizer": {"executed_lines": [102], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100}, "UnifiedReportWorkflow._create_analysis_components": {"executed_lines": [106, 107, 108, 109, 110], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104}, "UnifiedReportWorkflow.execute": {"executed_lines": [124, 125, 128, 129, 139, 140, 141, 142, 143, 144, 148, 149, 150, 153, 154, 155, 159, 166, 167, 175, 176, 177, 179, 184], "summary": {"covered_lines": 24, "num_statements": 31, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 77.41935483870968, "percent_statements_covered_display": "77"}, "missing_lines": [130, 131, 132, 168, 169, 173, 174], "excluded_lines": [], "start_line": 112}, "UnifiedReportWorkflow._fetch_github_data": {"executed_lines": [203, 204, 206, 207, 209, 210, 218, 219, 222, 223, 224, 225, 226, 227, 240, 241, 242, 245, 250, 251, 252, 253, 254, 260, 276, 277, 278, 283, 284, 288], "summary": {"covered_lines": 30, "num_statements": 46, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 65.21739130434783, "percent_statements_covered_display": "65"}, "missing_lines": [211, 212, 216, 228, 229, 233, 246, 247, 261, 262, 270, 279, 280, 281, 298, 299], "excluded_lines": [], "start_line": 191}, "UnifiedReportWorkflow._log_enrichment_availability": {"executed_lines": [307, 310, 311, 312, 313, 315, 316, 317, 319, 320, 322, 324, 327, 329, 332], "summary": {"covered_lines": 15, "num_statements": 21, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [308, 323, 325, 328, 330, 333], "excluded_lines": [], "start_line": 305}, "UnifiedReportWorkflow._generate_svgs": {"executed_lines": [353, 354, 357, 358, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 374, 376, 377, 378, 381, 387, 388, 400, 406, 407, 413, 415, 416, 420, 421, 424, 425, 427, 428, 430, 431, 438, 441], "summary": {"covered_lines": 38, "num_statements": 48, "percent_covered": 79.16666666666667, "percent_covered_display": "79", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 79.16666666666667, "percent_statements_covered_display": "79"}, "missing_lines": [390, 396, 397, 409, 410, 417, 418, 433, 434, 435], "excluded_lines": [], "start_line": 341}, "UnifiedReportWorkflow._generate_single_svg": {"executed_lines": [460, 461, 468, 469, 473, 474, 478, 479, 483, 484, 488, 489, 494], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 443}, "UnifiedReportWorkflow._analyze_repositories": {"executed_lines": [512, 515, 518, 519, 523, 524, 525, 528, 536, 544, 545, 546, 549, 550, 552, 559, 561, 564, 574, 580, 581, 607, 615, 622, 625], "summary": {"covered_lines": 25, "num_statements": 31, "percent_covered": 80.64516129032258, "percent_covered_display": "81", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 80.64516129032258, "percent_statements_covered_display": "81"}, "missing_lines": [568, 569, 595, 617, 618, 619], "excluded_lines": [], "start_line": 496}, "UnifiedReportWorkflow._generate_unified_report": {"executed_lines": [645, 647, 661, 662, 668], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [663, 666], "excluded_lines": [], "start_line": 627}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 29, 30, 31, 34, 47, 96, 100, 104, 112, 186, 191, 305, 341, 443, 496, 627], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"UnifiedReportWorkflow": {"executed_lines": [63, 64, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 85, 86, 89, 98, 102, 106, 107, 108, 109, 110, 124, 125, 128, 129, 139, 140, 141, 142, 143, 144, 148, 149, 150, 153, 154, 155, 159, 166, 167, 175, 176, 177, 179, 184, 203, 204, 206, 207, 209, 210, 218, 219, 222, 223, 224, 225, 226, 227, 240, 241, 242, 245, 250, 251, 252, 253, 254, 260, 276, 277, 278, 283, 284, 288, 307, 310, 311, 312, 313, 315, 316, 317, 319, 320, 322, 324, 327, 329, 332, 353, 354, 357, 358, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 374, 376, 377, 378, 381, 387, 388, 400, 406, 407, 413, 415, 416, 420, 421, 424, 425, 427, 428, 430, 431, 438, 441, 460, 461, 468, 469, 473, 474, 478, 479, 483, 484, 488, 489, 494, 512, 515, 518, 519, 523, 524, 525, 528, 536, 544, 545, 546, 549, 550, 552, 559, 561, 564, 574, 580, 581, 607, 615, 622, 625, 645, 647, 661, 662, 668], "summary": {"covered_lines": 176, "num_statements": 224, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [87, 130, 131, 132, 168, 169, 173, 174, 211, 212, 216, 228, 229, 233, 246, 247, 261, 262, 270, 279, 280, 281, 298, 299, 308, 323, 325, 328, 330, 333, 390, 396, 397, 409, 410, 417, 418, 433, 434, 435, 568, 569, 595, 617, 618, 619, 663, 666], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 29, 30, 31, 34, 47, 96, 100, 104, 112, 186, 191, 305, 341, 443, 496, 627], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src\\spark\\visualizer.py": {"executed_lines": [3, 4, 5, 6, 8, 9, 10, 11, 14, 17, 24, 25, 27, 47, 48, 50, 51, 54, 55, 66, 67, 68, 71, 72, 73, 79, 88, 99, 100, 110, 111, 113, 120, 121, 122, 129, 139, 140, 142, 151, 152, 153, 154, 157, 158, 160, 166, 174, 183, 184, 191, 201, 211, 213, 227, 230, 231, 232, 233, 234, 236, 237, 239, 240, 243, 254, 255, 256, 257, 258, 268, 271, 272, 275, 276, 277, 280, 281, 283, 284, 286, 289, 290, 292, 295, 296, 297, 300, 303, 304, 305, 308, 309, 310, 312, 321, 322, 323, 331, 332, 333, 334, 342, 351, 361, 363, 377, 378, 380, 381, 384, 395, 396, 397, 398, 400, 401, 402, 403, 406, 407, 415, 424, 433, 443, 445, 451, 452, 454, 455, 458, 468, 469, 478, 479, 480, 488, 490, 491, 492, 493, 495, 500, 501, 502, 504, 512, 521, 522, 530, 532, 533, 534, 535, 536, 537, 539, 547, 548, 550, 551, 552, 553, 554, 555, 556, 558, 567, 568, 569, 570, 572, 573, 579, 580, 582, 590, 599, 600, 608, 618, 620, 634, 635, 637, 638, 641, 652, 653, 654, 655, 656, 657, 658, 659, 662, 665, 666, 673, 675, 677, 680, 683, 685, 687, 688, 693, 695, 697, 700, 703, 705, 707, 710, 713, 714, 716, 718, 719, 724, 726, 728, 730, 733, 736, 743, 747, 750, 751, 752, 753, 755, 756, 758, 759, 762, 763, 766, 775, 782, 783, 784, 786, 798, 808, 810, 824, 825, 827, 828, 831, 842, 849, 859, 866, 876, 886, 889, 899, 901, 902, 904, 907, 908, 909, 910, 913], "summary": {"covered_lines": 267, "num_statements": 292, "percent_covered": 91.43835616438356, "percent_covered_display": "91", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 91.43835616438356, "percent_statements_covered_display": "91"}, "missing_lines": [667, 668, 670, 674, 676, 678, 684, 686, 690, 694, 696, 698, 704, 706, 708, 715, 717, 721, 725, 727, 729, 731, 744, 900, 905], "excluded_lines": [], "functions": {"StatisticsVisualizer.__init__": {"executed_lines": [24, 25], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17}, "StatisticsVisualizer.generate_overview": {"executed_lines": [47, 48, 50, 51, 54, 55, 66, 67, 68, 71, 72, 73, 79, 88, 99, 100, 110, 111, 113, 120, 121, 122, 129, 139, 140, 142, 151, 152, 153, 154, 157, 158, 160, 166, 174, 183, 184, 191, 201, 211], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27}, "StatisticsVisualizer.generate_heatmap": {"executed_lines": [227, 230, 231, 232, 233, 234, 236, 237, 239, 240, 243, 254, 255, 256, 257, 258, 268, 271, 272, 275, 276, 277, 280, 281, 283, 284, 286, 289, 290, 292, 295, 296, 297, 300, 303, 304, 305, 308, 309, 310, 312, 321, 322, 323, 331, 332, 333, 334, 342, 351, 361], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 213}, "StatisticsVisualizer.generate_languages": {"executed_lines": [377, 378, 380, 381, 384, 395, 396, 397, 398, 400, 401, 402, 403, 406, 407, 415, 424, 433, 443], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363}, "StatisticsVisualizer.generate_release_cadence": {"executed_lines": [451, 452, 454, 455, 458, 468, 469, 478, 479, 480, 488, 490, 491, 492, 493, 495, 500, 501, 502, 504, 512, 521, 522, 530, 532, 533, 534, 535, 536, 537, 539, 547, 548, 550, 551, 552, 553, 554, 555, 556, 558, 567, 568, 569, 570, 572, 573, 579, 580, 582, 590, 599, 600, 608, 618], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 445}, "StatisticsVisualizer.generate_fun_stats": {"executed_lines": [634, 635, 637, 638, 641, 652, 653, 654, 655, 656, 657, 658, 659, 662, 665, 666, 673, 675, 677, 680, 683, 685, 687, 688, 693, 695, 697, 700, 703, 705, 707, 710, 713, 714, 716, 718, 719, 724, 726, 728, 730, 733, 736, 743, 747, 750, 751, 752, 753, 755, 756, 758, 759, 762, 763, 766, 775, 782, 783, 784, 786, 798, 808], "summary": {"covered_lines": 63, "num_statements": 86, "percent_covered": 73.25581395348837, "percent_covered_display": "73", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 73.25581395348837, "percent_statements_covered_display": "73"}, "missing_lines": [667, 668, 670, 674, 676, 678, 684, 686, 690, 694, 696, 698, 704, 706, 708, 715, 717, 721, 725, 727, 729, 731, 744], "excluded_lines": [], "start_line": 620}, "StatisticsVisualizer.generate_streaks": {"executed_lines": [824, 825, 827, 828, 831, 842, 849, 859, 866, 876, 886], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 810}, "get_theme": {"executed_lines": [899, 901, 902, 904, 907, 908, 909, 910, 913], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82"}, "missing_lines": [900, 905], "excluded_lines": [], "start_line": 889}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 10, 11, 14, 17, 27, 213, 363, 445, 620, 810, 889], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"StatisticsVisualizer": {"executed_lines": [24, 25, 47, 48, 50, 51, 54, 55, 66, 67, 68, 71, 72, 73, 79, 88, 99, 100, 110, 111, 113, 120, 121, 122, 129, 139, 140, 142, 151, 152, 153, 154, 157, 158, 160, 166, 174, 183, 184, 191, 201, 211, 227, 230, 231, 232, 233, 234, 236, 237, 239, 240, 243, 254, 255, 256, 257, 258, 268, 271, 272, 275, 276, 277, 280, 281, 283, 284, 286, 289, 290, 292, 295, 296, 297, 300, 303, 304, 305, 308, 309, 310, 312, 321, 322, 323, 331, 332, 333, 334, 342, 351, 361, 377, 378, 380, 381, 384, 395, 396, 397, 398, 400, 401, 402, 403, 406, 407, 415, 424, 433, 443, 451, 452, 454, 455, 458, 468, 469, 478, 479, 480, 488, 490, 491, 492, 493, 495, 500, 501, 502, 504, 512, 521, 522, 530, 532, 533, 534, 535, 536, 537, 539, 547, 548, 550, 551, 552, 553, 554, 555, 556, 558, 567, 568, 569, 570, 572, 573, 579, 580, 582, 590, 599, 600, 608, 618, 634, 635, 637, 638, 641, 652, 653, 654, 655, 656, 657, 658, 659, 662, 665, 666, 673, 675, 677, 680, 683, 685, 687, 688, 693, 695, 697, 700, 703, 705, 707, 710, 713, 714, 716, 718, 719, 724, 726, 728, 730, 733, 736, 743, 747, 750, 751, 752, 753, 755, 756, 758, 759, 762, 763, 766, 775, 782, 783, 784, 786, 798, 808, 824, 825, 827, 828, 831, 842, 849, 859, 866, 876, 886], "summary": {"covered_lines": 241, "num_statements": 264, "percent_covered": 91.28787878787878, "percent_covered_display": "91", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 91.28787878787878, "percent_statements_covered_display": "91"}, "missing_lines": [667, 668, 670, 674, 676, 678, 684, 686, 690, 694, 696, 698, 704, 706, 708, 715, 717, 721, 725, 727, 729, 731, 744], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [3, 4, 5, 6, 8, 9, 10, 11, 14, 17, 27, 213, 363, 445, 620, 810, 889, 899, 901, 902, 904, 907, 908, 909, 910, 913], "summary": {"covered_lines": 26, "num_statements": 28, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [900, 905], "excluded_lines": [], "start_line": 1}}}}, "totals": {"covered_lines": 3459, "num_statements": 5525, "percent_covered": 62.60633484162896, "percent_covered_display": "63", "missing_lines": 2066, "excluded_lines": 0, "percent_statements_covered": 62.60633484162896, "percent_statements_covered_display": "63"}}