-
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) · 121 KB
/
coverage.json
File metadata and controls
1 lines (1 loc) · 121 KB
1
{"meta": {"format": 3, "version": "7.13.1", "timestamp": "2026-01-21T19:46:41.175403", "branch_coverage": false, "show_contexts": false}, "files": {"src/mcp_server/__init__.py": {"executed_lines": [1, 3], "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": [], "functions": {"": {"executed_lines": [1, 3], "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": 1}}, "classes": {"": {"executed_lines": [1, 3], "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": 1}}}, "src/mcp_server/__main__.py": {"executed_lines": [8, 9, 10, 12, 13, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 50, 51, 57, 59, 63, 65, 66, 73, 74, 75, 76, 77, 78, 79, 82], "summary": {"covered_lines": 45, "num_statements": 46, "percent_covered": 97.82608695652173, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.82608695652173, "percent_statements_covered_display": "98"}, "missing_lines": [83], "excluded_lines": [], "functions": {"main": {"executed_lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 50, 51, 57, 59, 63, 65, 66, 73, 74, 75, 76, 77, 78, 79], "summary": {"covered_lines": 38, "num_statements": 38, "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}, "": {"executed_lines": [8, 9, 10, 12, 13, 16, 82], "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": [83], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [8, 9, 10, 12, 13, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 50, 51, 57, 59, 63, 65, 66, 73, 74, 75, 76, 77, 78, 79, 82], "summary": {"covered_lines": 45, "num_statements": 46, "percent_covered": 97.82608695652173, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.82608695652173, "percent_statements_covered_display": "98"}, "missing_lines": [83], "excluded_lines": [], "start_line": 1}}}, "src/mcp_server/config.py": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 46, 47, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 81, 82, 99, 102, 109], "summary": {"covered_lines": 45, "num_statements": 49, "percent_covered": 91.83673469387755, "percent_covered_display": "92", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 91.83673469387755, "percent_statements_covered_display": "92"}, "missing_lines": [104, 105, 106, 111], "excluded_lines": [], "functions": {"Settings.__init__": {"executed_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "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": 11}, "Settings.from_env": {"executed_lines": [43, 44, 46, 47, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65], "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": 42}, "Settings.to_dict": {"executed_lines": [82], "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": 81}, "get_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": [104, 105, 106], "excluded_lines": [], "start_line": 102}, "reset_settings": {"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": [111], "excluded_lines": [], "start_line": 109}, "": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 41, 42, 81, 99, 102, 109], "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": {"Settings": {"executed_lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 44, 46, 47, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 82], "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": 10}, "": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 41, 42, 81, 99, 102, 109], "summary": {"covered_lines": 13, "num_statements": 17, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 76.47058823529412, "percent_statements_covered_display": "76"}, "missing_lines": [104, 105, 106, 111], "excluded_lines": [], "start_line": 1}}}, "src/mcp_server/models/__init__.py": {"executed_lines": [1, 2, 4], "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": [1, 2, 4], "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": [1, 2, 4], "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/mcp_server/models/database_manager.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 58, 59, 62, 63, 66, 67], "summary": {"covered_lines": 36, "num_statements": 51, "percent_covered": 70.58823529411765, "percent_covered_display": "71", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 70.58823529411765, "percent_statements_covered_display": "71"}, "missing_lines": [12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68], "excluded_lines": [], "functions": {"DatabaseManager.initialize": {"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": 11}, "DatabaseManager.close": {"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": [16], "excluded_lines": [], "start_line": 15}, "DatabaseManager.create_state": {"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": 19}, "DatabaseManager.get_state": {"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": [24], "excluded_lines": [], "start_line": 23}, "DatabaseManager.get_current_state": {"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": [28], "excluded_lines": [], "start_line": 27}, "DatabaseManager.get_all_states": {"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": 31}, "DatabaseManager.state_exists": {"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": 35}, "DatabaseManager.create_transition": {"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": [40], "excluded_lines": [], "start_line": 39}, "DatabaseManager.get_transitions_for_state": {"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": 43}, "DatabaseManager.get_transition": {"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": [48], "excluded_lines": [], "start_line": 47}, "DatabaseManager.get_last_transitions": {"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": [52], "excluded_lines": [], "start_line": 51}, "DatabaseManager.search_states": {"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": 55}, "DatabaseManager.get_total_states": {"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": [60], "excluded_lines": [], "start_line": 59}, "DatabaseManager.is_initialized": {"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": 63}, "DatabaseManager.set_initialized": {"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": [68], "excluded_lines": [], "start_line": 67}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 58, 59, 62, 63, 66, 67], "summary": {"covered_lines": 36, "num_statements": 36, "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": {"DatabaseManager": {"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": [12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68], "excluded_lines": [], "start_line": 9}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31, 34, 35, 38, 39, 42, 43, 46, 47, 50, 51, 54, 55, 58, 59, 62, 63, 66, 67], "summary": {"covered_lines": 36, "num_statements": 36, "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/mcp_server/models/state_model.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 11, 12, 21, 22, 23, 24, 25, 26, 28, 29, 38, 39, 40, 41, 42, 43, 46, 56, 57, 65, 66, 67, 68, 69, 71, 72, 80, 81, 82, 83, 84, 85, 88, 89, 91, 92, 94, 97], "summary": {"covered_lines": 44, "num_statements": 48, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [45, 87, 90, 96], "excluded_lines": [], "functions": {"now_utc": {"executed_lines": [8], "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": 7}, "State.__init__": {"executed_lines": [21, 22, 23, 24, 25, 26], "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": 12}, "State.to_dict": {"executed_lines": [29], "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": 28}, "State.from_dict": {"executed_lines": [40, 41, 42, 43, 46], "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": [45], "excluded_lines": [], "start_line": 39}, "Transition.__init__": {"executed_lines": [65, 66, 67, 68, 69], "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": 57}, "Transition.to_dict": {"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": 71}, "Transition.from_dict": {"executed_lines": [82, 83, 84, 85, 88, 89, 91, 92, 94, 97], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77"}, "missing_lines": [87, 90, 96], "excluded_lines": [], "start_line": 81}, "": {"executed_lines": [1, 2, 3, 4, 7, 11, 12, 28, 38, 39, 56, 57, 71, 80, 81], "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": {"State": {"executed_lines": [21, 22, 23, 24, 25, 26, 29, 40, 41, 42, 43, 46], "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": [45], "excluded_lines": [], "start_line": 11}, "Transition": {"executed_lines": [65, 66, 67, 68, 69, 72, 82, 83, 84, 85, 88, 89, 91, 92, 94, 97], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84"}, "missing_lines": [87, 90, 96], "excluded_lines": [], "start_line": 56}, "": {"executed_lines": [1, 2, 3, 4, 7, 8, 11, 12, 28, 38, 39, 56, 57, 71, 80, 81], "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/mcp_server/repositories/__init__.py": {"executed_lines": [1, 3], "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": [], "functions": {"": {"executed_lines": [1, 3], "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": 1}}, "classes": {"": {"executed_lines": [1, 3], "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": 1}}}, "src/mcp_server/repositories/abstract_repositories.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31, 34, 35, 39, 40, 41, 44, 45, 48, 49, 52, 53, 56, 57], "summary": {"covered_lines": 31, "num_statements": 43, "percent_covered": 72.09302325581395, "percent_covered_display": "72", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 72.09302325581395, "percent_statements_covered_display": "72"}, "missing_lines": [12, 16, 20, 24, 28, 32, 36, 42, 46, 50, 54, 58], "excluded_lines": [], "functions": {"StateRepository.create": {"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": 11}, "StateRepository.get_by_number": {"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": [16], "excluded_lines": [], "start_line": 15}, "StateRepository.get_current": {"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": 19}, "StateRepository.get_all": {"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": [24], "excluded_lines": [], "start_line": 23}, "StateRepository.exists": {"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": [28], "excluded_lines": [], "start_line": 27}, "StateRepository.count": {"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": 31}, "StateRepository.search": {"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": 35}, "TransitionRepository.create": {"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": 41}, "TransitionRepository.get_by_id": {"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": [46], "excluded_lines": [], "start_line": 45}, "TransitionRepository.get_by_state": {"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": [50], "excluded_lines": [], "start_line": 49}, "TransitionRepository.get_last": {"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": [54], "excluded_lines": [], "start_line": 53}, "TransitionRepository.count": {"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": [58], "excluded_lines": [], "start_line": 57}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31, 34, 35, 39, 40, 41, 44, 45, 48, 49, 52, 53, 56, 57], "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": {"StateRepository": {"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": [12, 16, 20, 24, 28, 32, 36], "excluded_lines": [], "start_line": 9}, "TransitionRepository": {"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": [42, 46, 50, 54, 58], "excluded_lines": [], "start_line": 39}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31, 34, 35, 39, 40, 41, 44, 45, 48, 49, 52, 53, 56, 57], "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/mcp_server/repositories/neo4j_repository.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 27, 51, 73, 87, 105, 117, 123, 137, 138, 142, 166, 187, 212, 238, 245, 248, 249], "summary": {"covered_lines": 32, "num_statements": 104, "percent_covered": 30.76923076923077, "percent_covered_display": "31", "missing_lines": 72, "excluded_lines": 0, "percent_statements_covered": 30.76923076923077, "percent_statements_covered_display": "31"}, "missing_lines": [23, 28, 29, 30, 47, 48, 49, 52, 53, 60, 61, 62, 63, 71, 74, 75, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 103, 106, 107, 114, 115, 118, 119, 120, 121, 124, 125, 134, 139, 140, 143, 144, 145, 162, 163, 164, 167, 168, 175, 176, 177, 178, 185, 188, 189, 197, 198, 199, 200, 201, 210, 213, 214, 224, 225, 226, 227, 236, 239, 240, 241, 242], "excluded_lines": [], "functions": {"Neo4jStateRepository.__init__": {"executed_lines": [14, 15, 16], "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": 13}, "Neo4jStateRepository._init_constraints": {"executed_lines": [19, 20], "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": [23], "excluded_lines": [], "start_line": 18}, "Neo4jStateRepository.create": {"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": [28, 29, 30, 47, 48, 49], "excluded_lines": [], "start_line": 27}, "Neo4jStateRepository.get_by_number": {"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": [52, 53, 60, 61, 62, 63, 71], "excluded_lines": [], "start_line": 51}, "Neo4jStateRepository.get_current": {"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, 82, 83, 84, 85], "excluded_lines": [], "start_line": 73}, "Neo4jStateRepository.get_all": {"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": [88, 89, 90, 91, 92, 93, 103], "excluded_lines": [], "start_line": 87}, "Neo4jStateRepository.exists": {"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": [106, 107, 114, 115], "excluded_lines": [], "start_line": 105}, "Neo4jStateRepository.count": {"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": [118, 119, 120, 121], "excluded_lines": [], "start_line": 117}, "Neo4jStateRepository.search": {"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": [124, 125, 134], "excluded_lines": [], "start_line": 123}, "Neo4jTransitionRepository.__init__": {"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": [139, 140], "excluded_lines": [], "start_line": 138}, "Neo4jTransitionRepository.create": {"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": [143, 144, 145, 162, 163, 164], "excluded_lines": [], "start_line": 142}, "Neo4jTransitionRepository.get_by_id": {"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": [167, 168, 175, 176, 177, 178, 185], "excluded_lines": [], "start_line": 166}, "Neo4jTransitionRepository.get_by_state": {"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": [188, 189, 197, 198, 199, 200, 201, 210], "excluded_lines": [], "start_line": 187}, "Neo4jTransitionRepository.get_last": {"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": [213, 214, 224, 225, 226, 227, 236], "excluded_lines": [], "start_line": 212}, "Neo4jTransitionRepository.count": {"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": [239, 240, 241, 242], "excluded_lines": [], "start_line": 238}, "create_neo4j_repositories": {"executed_lines": [248, 249], "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": 245}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12, 13, 18, 27, 51, 73, 87, 105, 117, 123, 137, 138, 142, 166, 187, 212, 238, 245], "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": {"Neo4jStateRepository": {"executed_lines": [14, 15, 16, 19, 20], "summary": {"covered_lines": 5, "num_statements": 43, "percent_covered": 11.627906976744185, "percent_covered_display": "12", "missing_lines": 38, "excluded_lines": 0, "percent_statements_covered": 11.627906976744185, "percent_statements_covered_display": "12"}, "missing_lines": [23, 28, 29, 30, 47, 48, 49, 52, 53, 60, 61, 62, 63, 71, 74, 75, 82, 83, 84, 85, 88, 89, 90, 91, 92, 93, 103, 106, 107, 114, 115, 118, 119, 120, 121, 124, 125, 134], "excluded_lines": [], "start_line": 12}, "Neo4jTransitionRepository": {"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": [139, 140, 143, 144, 145, 162, 163, 164, 167, 168, 175, 176, 177, 178, 185, 188, 189, 197, 198, 199, 200, 201, 210, 213, 214, 224, 225, 226, 227, 236, 239, 240, 241, 242], "excluded_lines": [], "start_line": 137}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 9, 12, 13, 18, 27, 51, 73, 87, 105, 117, 123, 137, 138, 142, 166, 187, 212, 238, 245, 248, 249], "summary": {"covered_lines": 27, "num_statements": 27, "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/mcp_server/repositories/sqlite_repository.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 12, 13, 14, 16, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 48, 49, 50, 51, 52, 53, 54, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 86, 88, 89, 90, 91, 92, 93, 103, 105, 106, 107, 108, 109, 121, 123, 124, 125, 126, 128, 130, 131, 132, 133, 135, 137, 138, 139, 140, 141, 143, 146, 147, 148, 149, 151, 155, 156, 157, 158, 161, 163, 170, 171, 172, 177, 179, 180, 181, 182, 183, 184, 193, 195, 196, 197, 198, 199, 210, 212, 213, 214, 215, 221, 232, 234, 235, 236, 237, 239, 242, 243, 245, 246, 251, 252, 255, 258, 259, 260], "summary": {"covered_lines": 130, "num_statements": 139, "percent_covered": 93.5251798561151, "percent_covered_display": "94", "missing_lines": 9, "excluded_lines": 2, "percent_statements_covered": 93.5251798561151, "percent_statements_covered_display": "94"}, "missing_lines": [46, 84, 101, 153, 162, 173, 174, 175, 191], "excluded_lines": [9, 10], "functions": {"SQLiteStateRepository.__init__": {"executed_lines": [40, 41, 42], "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": 39}, "SQLiteStateRepository.close": {"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": [46], "excluded_lines": [], "start_line": 44}, "SQLiteStateRepository.create": {"executed_lines": [49, 50, 51, 52, 53, 54, 62, 63, 64, 65, 66, 67, 69], "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": 48}, "SQLiteStateRepository.get_by_number": {"executed_lines": [72, 73, 74, 75, 76, 86], "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": [84], "excluded_lines": [], "start_line": 71}, "SQLiteStateRepository.get_current": {"executed_lines": [89, 90, 91, 92, 93, 103], "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": [101], "excluded_lines": [], "start_line": 88}, "SQLiteStateRepository.get_all": {"executed_lines": [106, 107, 108, 109, 121], "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": 105}, "SQLiteStateRepository.exists": {"executed_lines": [124, 125, 126, 128], "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": 123}, "SQLiteStateRepository.count": {"executed_lines": [131, 132, 133, 135], "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": 130}, "SQLiteStateRepository.search": {"executed_lines": [138, 139, 140, 141, 143], "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}, "SQLiteTransitionRepository.__init__": {"executed_lines": [148, 149], "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": 147}, "SQLiteTransitionRepository.close": {"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": [153], "excluded_lines": [], "start_line": 151}, "SQLiteTransitionRepository.create": {"executed_lines": [156, 157, 158, 161, 163, 170, 171, 172, 177], "summary": {"covered_lines": 9, "num_statements": 13, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69"}, "missing_lines": [162, 173, 174, 175], "excluded_lines": [], "start_line": 155}, "SQLiteTransitionRepository.get_by_id": {"executed_lines": [180, 181, 182, 183, 184, 193], "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": [191], "excluded_lines": [], "start_line": 179}, "SQLiteTransitionRepository.get_by_state": {"executed_lines": [196, 197, 198, 199, 210], "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": 195}, "SQLiteTransitionRepository.get_last": {"executed_lines": [213, 214, 215, 221, 232], "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": 212}, "SQLiteTransitionRepository.count": {"executed_lines": [235, 236, 237, 239], "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": 234}, "create_sqlite_engine": {"executed_lines": [243, 245, 246, 251, 252], "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": 242}, "create_sqlite_repositories": {"executed_lines": [258, 259, 260], "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": 255}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 12, 13, 14, 16, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 38, 39, 44, 48, 71, 88, 105, 123, 130, 137, 146, 147, 151, 155, 179, 195, 212, 234, 242, 255], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [9, 10], "start_line": 1}}, "classes": {"StateModel": {"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}, "TransitionModel": {"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": 29}, "SQLiteStateRepository": {"executed_lines": [40, 41, 42, 49, 50, 51, 52, 53, 54, 62, 63, 64, 65, 66, 67, 69, 72, 73, 74, 75, 76, 86, 89, 90, 91, 92, 93, 103, 106, 107, 108, 109, 121, 124, 125, 126, 128, 131, 132, 133, 135, 138, 139, 140, 141, 143], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 93.87755102040816, "percent_statements_covered_display": "94"}, "missing_lines": [46, 84, 101], "excluded_lines": [], "start_line": 38}, "SQLiteTransitionRepository": {"executed_lines": [148, 149, 156, 157, 158, 161, 163, 170, 171, 172, 177, 180, 181, 182, 183, 184, 193, 196, 197, 198, 199, 210, 213, 214, 215, 221, 232, 235, 236, 237, 239], "summary": {"covered_lines": 31, "num_statements": 37, "percent_covered": 83.78378378378379, "percent_covered_display": "84", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 83.78378378378379, "percent_statements_covered_display": "84"}, "missing_lines": [153, 162, 173, 174, 175, 191], "excluded_lines": [], "start_line": 146}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 12, 13, 14, 16, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 38, 39, 44, 48, 71, 88, 105, 123, 130, 137, 146, 147, 151, 155, 179, 195, 212, 234, 242, 243, 245, 246, 251, 252, 255, 258, 259, 260], "summary": {"covered_lines": 53, "num_statements": 53, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [9, 10], "start_line": 1}}}, "src/mcp_server/services/__init__.py": {"executed_lines": [1, 3], "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": [], "functions": {"": {"executed_lines": [1, 3], "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": 1}}, "classes": {"": {"executed_lines": [1, 3], "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": 1}}}, "src/mcp_server/services/git_manager.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 13, 16, 19, 22, 23, 26, 27, 28, 30, 36, 37, 40, 41, 42, 43, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 62, 64, 65, 66, 70, 71, 76, 77, 78, 81, 85, 86, 88, 91, 93, 94, 96, 99, 104, 112, 113, 114, 115, 119, 123, 124, 125, 127, 128, 129, 131, 132, 136, 137, 138, 140, 141, 142, 143], "summary": {"covered_lines": 71, "num_statements": 87, "percent_covered": 81.60919540229885, "percent_covered_display": "82", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 81.60919540229885, "percent_statements_covered_display": "82"}, "missing_lines": [38, 55, 72, 73, 74, 79, 97, 105, 106, 107, 108, 109, 110, 130, 144, 145], "excluded_lines": [], "functions": {"GitManager.__init__": {"executed_lines": [28], "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": 27}, "GitManager._run_git_command": {"executed_lines": [36, 37, 40, 41, 42, 43, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 62], "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": [38, 55], "excluded_lines": [], "start_line": 30}, "GitManager.get_current_branch": {"executed_lines": [65, 66, 70, 71], "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": [72, 73, 74], "excluded_lines": [], "start_line": 64}, "GitManager.get_diff": {"executed_lines": [77, 78, 81, 85, 86], "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": [79], "excluded_lines": [], "start_line": 76}, "GitManager.clone_to_volume": {"executed_lines": [91, 93, 94, 96, 99, 104], "summary": {"covered_lines": 6, "num_statements": 13, "percent_covered": 46.15384615384615, "percent_covered_display": "46", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 46.15384615384615, "percent_statements_covered_display": "46"}, "missing_lines": [97, 105, 106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 88}, "GitManager.init_repo": {"executed_lines": [113, 114, 115, 119, 123, 124, 125], "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": 112}, "GitManager.create_branch": {"executed_lines": [128, 129, 131, 132, 136, 137, 138], "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": [130], "excluded_lines": [], "start_line": 127}, "GitManager.is_git_repo": {"executed_lines": [141, 142, 143], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60"}, "missing_lines": [144, 145], "excluded_lines": [], "start_line": 140}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 13, 16, 19, 22, 23, 26, 27, 30, 64, 76, 88, 112, 127, 140], "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": 1}}, "classes": {"GitOperationError": {"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": 10}, "GitTimeoutError": {"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": 16}, "GitManager": {"executed_lines": [28, 36, 37, 40, 41, 42, 43, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 62, 65, 66, 70, 71, 77, 78, 81, 85, 86, 91, 93, 94, 96, 99, 104, 113, 114, 115, 119, 123, 124, 125, 128, 129, 131, 132, 136, 137, 138, 141, 142, 143], "summary": {"covered_lines": 50, "num_statements": 66, "percent_covered": 75.75757575757575, "percent_covered_display": "76", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 75.75757575757575, "percent_statements_covered_display": "76"}, "missing_lines": [38, 55, 72, 73, 74, 79, 97, 105, 106, 107, 108, 109, 110, 130, 144, 145], "excluded_lines": [], "start_line": 26}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 10, 13, 16, 19, 22, 23, 26, 27, 30, 64, 76, 88, 112, 127, 140], "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": 1}}}, "src/mcp_server/services/state_service.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 25, 28, 31, 34, 37, 40, 41, 48, 49, 50, 51, 52, 54, 55, 61, 68, 69, 71, 72, 73, 74, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 90, 92, 99, 106, 109, 111, 112, 114, 120, 126, 127, 131, 133, 134, 138, 145, 152, 153, 154, 156, 162, 163, 164, 166, 170, 173, 174, 176, 177, 178, 180, 181, 182, 183, 184, 189, 191, 194, 195, 197, 198, 201, 203, 204, 205, 206, 208, 209, 210, 212, 213, 214, 215, 216, 218, 219, 220, 221, 225, 231, 232, 234, 236, 237, 238, 239, 240, 241, 244, 245, 246, 252, 253, 254, 255, 256, 258, 260, 261, 262, 263, 265, 266, 267, 268, 269, 271, 272, 273, 279, 280, 281, 282, 283, 285, 289, 290, 292, 293, 294, 295, 296], "summary": {"covered_lines": 148, "num_statements": 179, "percent_covered": 82.68156424581005, "percent_covered_display": "83", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 82.68156424581005, "percent_statements_covered_display": "83"}, "missing_lines": [57, 58, 59, 107, 115, 116, 117, 118, 128, 129, 135, 136, 167, 168, 185, 186, 187, 199, 222, 223, 242, 247, 248, 249, 250, 257, 274, 275, 286, 287, 288], "excluded_lines": [], "functions": {"StateService.__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": 41}, "StateService.audit_logger": {"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": [57, 58, 59], "excluded_lines": [], "start_line": 55}, "StateService.genesis": {"executed_lines": [68, 69, 71, 72, 73, 74, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 90, 92, 99, 106, 109, 111, 112, 114], "summary": {"covered_lines": 26, "num_statements": 31, "percent_covered": 83.87096774193549, "percent_covered_display": "84", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 83.87096774193549, "percent_statements_covered_display": "84"}, "missing_lines": [107, 115, 116, 117, 118], "excluded_lines": [], "start_line": 61}, "StateService._create_state_and_transition_atomic": {"executed_lines": [126, 127, 131, 133, 134, 138, 145, 152, 153, 154, 156, 162, 163, 164, 166], "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": [128, 129, 135, 136, 167, 168], "excluded_lines": [], "start_line": 120}, "StateService.new_state_transition": {"executed_lines": [173, 174, 176, 177, 178, 180, 181, 182, 183, 184, 189], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79"}, "missing_lines": [185, 186, 187], "excluded_lines": [], "start_line": 170}, "StateService.arbitrary_state_transition": {"executed_lines": [194, 195, 197, 198, 201, 203, 204, 205, 206, 208, 209, 210, 212, 213, 214, 215, 216, 218, 219, 220, 221, 225, 231, 232, 234], "summary": {"covered_lines": 25, "num_statements": 28, "percent_covered": 89.28571428571429, "percent_covered_display": "89", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 89.28571428571429, "percent_statements_covered_display": "89"}, "missing_lines": [199, 222, 223], "excluded_lines": [], "start_line": 191}, "StateService.get_current_state": {"executed_lines": [237, 238, 239, 240, 241], "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": [242], "excluded_lines": [], "start_line": 236}, "StateService.get_current_state_number": {"executed_lines": [245, 246], "summary": {"covered_lines": 2, "num_statements": 6, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [247, 248, 249, 250], "excluded_lines": [], "start_line": 244}, "StateService.get_state_info": {"executed_lines": [253, 254, 255, 256, 258], "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": [257], "excluded_lines": [], "start_line": 252}, "StateService.total_states": {"executed_lines": [261, 262, 263], "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": 260}, "StateService.search_states": {"executed_lines": [266, 267, 268, 269], "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": 265}, "StateService.get_state_transitions": {"executed_lines": [272, 273], "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": [274, 275], "excluded_lines": [], "start_line": 271}, "StateService.get_transition_info": {"executed_lines": [280, 281, 282, 283, 285, 289, 290], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70"}, "missing_lines": [286, 287, 288], "excluded_lines": [], "start_line": 279}, "StateService.track_transitions": {"executed_lines": [293, 294, 295, 296], "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": 292}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 25, 28, 31, 34, 37, 40, 41, 54, 55, 61, 120, 170, 191, 236, 244, 252, 260, 265, 271, 279, 292], "summary": {"covered_lines": 34, "num_statements": 34, "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": {"StateServiceError": {"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": 22}, "StateNotFoundError": {"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": 28}, "InvalidStateTransitionError": {"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": 34}, "StateService": {"executed_lines": [48, 49, 50, 51, 52, 68, 69, 71, 72, 73, 74, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 90, 92, 99, 106, 109, 111, 112, 114, 126, 127, 131, 133, 134, 138, 145, 152, 153, 154, 156, 162, 163, 164, 166, 173, 174, 176, 177, 178, 180, 181, 182, 183, 184, 189, 194, 195, 197, 198, 201, 203, 204, 205, 206, 208, 209, 210, 212, 213, 214, 215, 216, 218, 219, 220, 221, 225, 231, 232, 234, 237, 238, 239, 240, 241, 245, 246, 253, 254, 255, 256, 258, 261, 262, 263, 266, 267, 268, 269, 272, 273, 280, 281, 282, 283, 285, 289, 290, 293, 294, 295, 296], "summary": {"covered_lines": 114, "num_statements": 145, "percent_covered": 78.62068965517241, "percent_covered_display": "79", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 78.62068965517241, "percent_statements_covered_display": "79"}, "missing_lines": [57, 58, 59, 107, 115, 116, 117, 118, 128, 129, 135, 136, 167, 168, 185, 186, 187, 199, 222, 223, 242, 247, 248, 249, 250, 257, 274, 275, 286, 287, 288], "excluded_lines": [], "start_line": 40}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22, 25, 28, 31, 34, 37, 40, 41, 54, 55, 61, 120, 170, 191, 236, 244, 252, 260, 265, 271, 279, 292], "summary": {"covered_lines": 34, "num_statements": 34, "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/mcp_server/tools/__init__.py": {"executed_lines": [1, 15], "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": [], "functions": {"": {"executed_lines": [1, 15], "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": 1}}, "classes": {"": {"executed_lines": [1, 15], "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": 1}}}, "src/mcp_server/tools/mcp_tools.py": {"executed_lines": [7, 8, 10, 11, 12, 13, 15, 18, 28, 29, 30, 31, 32, 33, 34, 39, 47, 64, 65, 66, 68, 69, 71, 72, 74, 76, 84, 85, 90, 108, 125, 126, 127, 129, 130, 132, 133, 134, 136, 138, 140, 142, 152, 153, 164, 187, 204, 205, 206, 208, 209, 211, 212, 213, 215, 217, 219, 228, 229, 240, 262, 275, 276, 277, 279, 280, 283, 296, 297, 298, 300, 301, 308, 323, 324, 325, 327, 328, 335, 348, 349, 350, 352, 353, 356, 371, 372, 373, 375, 376, 379, 394, 395, 396, 398, 399, 402, 417, 418, 419, 421, 422, 425, 438, 439, 440, 442, 443], "summary": {"covered_lines": 108, "num_statements": 123, "percent_covered": 87.8048780487805, "percent_covered_display": "88", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 87.8048780487805, "percent_statements_covered_display": "88"}, "missing_lines": [95, 96, 97, 104, 105, 169, 170, 171, 180, 184, 245, 246, 247, 255, 259], "excluded_lines": [], "functions": {"_handle_rate_limit": {"executed_lines": [28, 29, 30, 31, 32, 33, 34, 39], "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": 18}, "genesis": {"executed_lines": [64, 65, 66, 68, 69, 71, 72, 74, 76, 84, 85, 90], "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": [95, 96, 97, 104, 105], "excluded_lines": [], "start_line": 47}, "new_state_transition": {"executed_lines": [125, 126, 127, 129, 130, 132, 133, 134, 136, 138, 140, 142, 152, 153, 164], "summary": {"covered_lines": 15, "num_statements": 20, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75"}, "missing_lines": [169, 170, 171, 180, 184], "excluded_lines": [], "start_line": 108}, "arbitrary_state_transition": {"executed_lines": [204, 205, 206, 208, 209, 211, 212, 213, 215, 217, 219, 228, 229, 240], "summary": {"covered_lines": 14, "num_statements": 19, "percent_covered": 73.6842105263158, "percent_covered_display": "74", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 73.6842105263158, "percent_statements_covered_display": "74"}, "missing_lines": [245, 246, 247, 255, 259], "excluded_lines": [], "start_line": 187}, "get_current_state_number": {"executed_lines": [275, 276, 277, 279, 280], "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": 262}, "get_current_state_info": {"executed_lines": [296, 297, 298, 300, 301], "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": 283}, "get_state_info": {"executed_lines": [323, 324, 325, 327, 328], "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": 308}, "total_states": {"executed_lines": [348, 349, 350, 352, 353], "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}, "search_states": {"executed_lines": [371, 372, 373, 375, 376], "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": 356}, "get_state_transitions": {"executed_lines": [394, 395, 396, 398, 399], "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": 379}, "get_transition_info": {"executed_lines": [417, 418, 419, 421, 422], "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": 402}, "track_transitions": {"executed_lines": [438, 439, 440, 442, 443], "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": 425}, "": {"executed_lines": [7, 8, 10, 11, 12, 13, 15, 18, 47, 108, 187, 262, 283, 308, 335, 356, 379, 402, 425], "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": {"": {"executed_lines": [7, 8, 10, 11, 12, 13, 15, 18, 28, 29, 30, 31, 32, 33, 34, 39, 47, 64, 65, 66, 68, 69, 71, 72, 74, 76, 84, 85, 90, 108, 125, 126, 127, 129, 130, 132, 133, 134, 136, 138, 140, 142, 152, 153, 164, 187, 204, 205, 206, 208, 209, 211, 212, 213, 215, 217, 219, 228, 229, 240, 262, 275, 276, 277, 279, 280, 283, 296, 297, 298, 300, 301, 308, 323, 324, 325, 327, 328, 335, 348, 349, 350, 352, 353, 356, 371, 372, 373, 375, 376, 379, 394, 395, 396, 398, 399, 402, 417, 418, 419, 421, 422, 425, 438, 439, 440, 442, 443], "summary": {"covered_lines": 108, "num_statements": 123, "percent_covered": 87.8048780487805, "percent_covered_display": "88", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 87.8048780487805, "percent_statements_covered_display": "88"}, "missing_lines": [95, 96, 97, 104, 105, 169, 170, 171, 180, 184, 245, 246, 247, 255, 259], "excluded_lines": [], "start_line": 1}}}, "src/mcp_server/utils/__init__.py": {"executed_lines": [1, 2, 3, 10, 12], "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": [1, 2, 3, 10, 12], "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": [1, 2, 3, 10, 12], "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/mcp_server/utils/audit.py": {"executed_lines": [7, 8, 9, 10, 11, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 35, 36, 37, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 87, 90, 99, 105, 106, 107, 108, 109, 110, 111, 113, 119, 120, 122, 125, 126, 127, 130, 132, 133, 139, 164, 177, 179, 202, 214, 216, 237, 248, 250, 269, 280, 282, 299, 308, 310, 329, 342, 344, 363, 372, 374, 383, 384, 385, 386, 387, 389, 393, 409, 410, 412, 413, 414, 415, 417, 419, 421, 423, 425, 427, 429, 430, 433, 434, 437, 444, 445, 446, 447, 449, 450, 453, 460, 463, 466, 469, 472, 479, 480, 481, 482, 483, 484, 485, 486, 488, 489, 490, 492, 493, 495, 496, 497, 499, 501, 503, 504, 532, 542, 543], "summary": {"covered_lines": 143, "num_statements": 150, "percent_covered": 95.33333333333333, "percent_covered_display": "95", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 95.33333333333333, "percent_statements_covered_display": "95"}, "missing_lines": [123, 128, 391, 513, 514, 523, 524], "excluded_lines": [], "functions": {"AuditEvent.to_dict": {"executed_lines": [62], "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": 60}, "AuditLogger.__init__": {"executed_lines": [105, 106, 107, 108, 109, 110, 111], "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": 99}, "AuditLogger.log_event": {"executed_lines": [119, 120, 122, 125, 126, 127, 130, 132, 133], "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": [123, 128], "excluded_lines": [], "start_line": 113}, "AuditLogger.log_state_transition": {"executed_lines": [164, 177], "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": 139}, "AuditLogger.log_arbitrary_transition": {"executed_lines": [202, 214], "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": 179}, "AuditLogger.log_genesis": {"executed_lines": [237, 248], "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": 216}, "AuditLogger.log_security_violation": {"executed_lines": [269, 280], "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": 250}, "AuditLogger.log_rate_limit_exceeded": {"executed_lines": [299, 308], "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": 282}, "AuditLogger.log_validation_failure": {"executed_lines": [329, 342], "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": 310}, "AuditLogger.log_state_access": {"executed_lines": [363, 372], "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": 344}, "AuditLogger._get_level_for_outcome": {"executed_lines": [383, 384, 385, 386, 387], "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": 374}, "AuditLogger._flush_buffer": {"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": [391], "excluded_lines": [], "start_line": 389}, "AuditLogger.get_events": {"executed_lines": [409, 410, 412, 413, 414, 415, 417], "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": 393}, "AuditLogger.enable": {"executed_lines": [421], "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": 419}, "AuditLogger.disable": {"executed_lines": [425], "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": 423}, "AuditLogger.clear_buffer": {"executed_lines": [429, 430], "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": 427}, "get_audit_logger": {"executed_lines": [444, 445, 446, 447, 449, 450], "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": 437}, "set_audit_logger": {"executed_lines": [460], "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": 453}, "reset_audit_logger": {"executed_lines": [466], "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": 463}, "AuditContext.__init__": {"executed_lines": [479, 480, 481, 482, 483, 484, 485, 486], "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": 472}, "AuditContext.__enter__": {"executed_lines": [489, 490], "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": 488}, "AuditContext.__exit__": {"executed_lines": [493, 495, 496, 497, 499, 501, 503, 504], "summary": {"covered_lines": 8, "num_statements": 12, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [513, 514, 523, 524], "excluded_lines": [], "start_line": 492}, "AuditContext.set_details": {"executed_lines": [542, 543], "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": 532}, "": {"executed_lines": [7, 8, 9, 10, 11, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 35, 36, 37, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 87, 90, 99, 113, 139, 179, 216, 250, 282, 310, 344, 374, 389, 393, 419, 423, 427, 433, 434, 437, 453, 463, 469, 472, 488, 492, 532], "summary": {"covered_lines": 68, "num_statements": 68, "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": {"AuditEventType": {"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": 16}, "AuditOutcome": {"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}, "AuditEvent": {"executed_lines": [62], "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": 41}, "AuditLogger": {"executed_lines": [105, 106, 107, 108, 109, 110, 111, 119, 120, 122, 125, 126, 127, 130, 132, 133, 164, 177, 202, 214, 237, 248, 269, 280, 299, 308, 329, 342, 363, 372, 383, 384, 385, 386, 387, 409, 410, 412, 413, 414, 415, 417, 421, 425, 429, 430], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 93.87755102040816, "percent_statements_covered_display": "94"}, "missing_lines": [123, 128, 391], "excluded_lines": [], "start_line": 87}, "AuditContext": {"executed_lines": [479, 480, 481, 482, 483, 484, 485, 486, 489, 490, 493, 495, 496, 497, 499, 501, 503, 504, 542, 543], "summary": {"covered_lines": 20, "num_statements": 24, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83"}, "missing_lines": [513, 514, 523, 524], "excluded_lines": [], "start_line": 469}, "": {"executed_lines": [7, 8, 9, 10, 11, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 35, 36, 37, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 87, 90, 99, 113, 139, 179, 216, 250, 282, 310, 344, 374, 389, 393, 419, 423, 427, 433, 434, 437, 444, 445, 446, 447, 449, 450, 453, 460, 463, 466, 469, 472, 488, 492, 532], "summary": {"covered_lines": 76, "num_statements": 76, "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/mcp_server/utils/hash.py": {"executed_lines": [1, 2, 5, 8, 9, 12, 15, 16], "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": {"generate_state_hash": {"executed_lines": [8, 9], "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": 5}, "validate_state_hash": {"executed_lines": [15, 16], "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": 12}, "": {"executed_lines": [1, 2, 5, 12], "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": 1}}, "classes": {"": {"executed_lines": [1, 2, 5, 8, 9, 12, 15, 16], "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/mcp_server/utils/init_manager.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 21], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.23529411764706, "percent_statements_covered_display": "88"}, "missing_lines": [22, 23], "excluded_lines": [], "functions": {"is_initialized": {"executed_lines": [8, 9], "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": 7}, "set_initialized": {"executed_lines": [13, 14, 15, 16, 17, 19, 20, 21], "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": [22, 23], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [1, 2, 4, 7, 12], "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": [1, 2, 4, 7, 8, 9, 12, 13, 14, 15, 16, 17, 19, 20, 21], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.23529411764706, "percent_statements_covered_display": "88"}, "missing_lines": [22, 23], "excluded_lines": [], "start_line": 1}}}, "src/mcp_server/utils/logging.py": {"executed_lines": [7, 8, 9, 10, 11, 12, 15, 18, 20, 30, 31, 33, 34, 35, 37, 40, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 56, 59, 74, 76, 77, 78, 79, 81, 82, 84, 85, 87, 91, 92, 94, 100, 101, 102, 104, 107, 116, 119, 125, 128, 134, 137, 139, 140], "summary": {"covered_lines": 54, "num_statements": 58, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 93.10344827586206, "percent_statements_covered_display": "93"}, "missing_lines": [95, 96, 97, 98], "excluded_lines": [], "functions": {"JSONFormatter.format": {"executed_lines": [20, 30, 31, 33, 34, 35, 37], "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": 18}, "ContextFilter.__init__": {"executed_lines": [44, 45, 46], "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": 43}, "ContextFilter.filter": {"executed_lines": [49, 50, 51, 52, 53], "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": 48}, "setup_logging": {"executed_lines": [74, 76, 77, 78, 79, 81, 82, 84, 85, 87, 91, 92, 94, 100, 101, 102, 104], "summary": {"covered_lines": 17, "num_statements": 21, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 80.95238095238095, "percent_statements_covered_display": "81"}, "missing_lines": [95, 96, 97, 98], "excluded_lines": [], "start_line": 59}, "get_logger": {"executed_lines": [116], "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": 107}, "set_session_context": {"executed_lines": [125], "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": 119}, "set_state_context": {"executed_lines": [134], "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": 128}, "clear_context": {"executed_lines": [139, 140], "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": 137}, "": {"executed_lines": [7, 8, 9, 10, 11, 12, 15, 18, 40, 43, 48, 56, 59, 107, 119, 128, 137], "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": {"JSONFormatter": {"executed_lines": [20, 30, 31, 33, 34, 35, 37], "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": 15}, "ContextFilter": {"executed_lines": [44, 45, 46, 49, 50, 51, 52, 53], "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": 40}, "": {"executed_lines": [7, 8, 9, 10, 11, 12, 15, 18, 40, 43, 48, 56, 59, 74, 76, 77, 78, 79, 81, 82, 84, 85, 87, 91, 92, 94, 100, 101, 102, 104, 107, 116, 119, 125, 128, 134, 137, 139, 140], "summary": {"covered_lines": 39, "num_statements": 43, "percent_covered": 90.69767441860465, "percent_covered_display": "91", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 90.69767441860465, "percent_statements_covered_display": "91"}, "missing_lines": [95, 96, 97, 98], "excluded_lines": [], "start_line": 1}}}, "src/mcp_server/utils/metrics.py": {"executed_lines": [7, 8, 9, 10, 11, 14, 15, 18, 19, 20, 22, 24, 25, 26, 28, 30, 31, 32, 34, 35, 37, 40, 43, 44, 45, 46, 48, 55, 57, 64, 66, 73, 74, 75, 77, 78, 87, 88, 89, 91, 93, 102, 104, 113, 114, 116, 117, 119, 129, 135, 141, 142, 143, 144, 145, 147, 149, 151, 152, 153, 156, 159, 161, 164, 174, 175, 176, 177, 179, 181, 184, 187, 188, 190, 196, 197, 199, 206, 208, 215, 217, 223, 225, 231, 232, 233, 234, 235, 236, 237, 238, 240, 246, 248, 249, 250, 254, 255, 256, 261, 264], "summary": {"covered_lines": 101, "num_statements": 102, "percent_covered": 99.01960784313725, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 99.01960784313725, "percent_statements_covered_display": "99"}, "missing_lines": [257], "excluded_lines": [], "functions": {"Timer.stop": {"executed_lines": [24, 25, 26], "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": 22}, "Timer.reset": {"executed_lines": [30, 31, 32], "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": 28}, "Timer.current_ms": {"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}, "MetricsCollector.__init__": {"executed_lines": [44, 45, 46], "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": 43}, "MetricsCollector.increment": {"executed_lines": [55], "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": 48}, "MetricsCollector.decrement": {"executed_lines": [64], "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": 57}, "MetricsCollector.timing": {"executed_lines": [73, 74, 75], "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": 66}, "MetricsCollector.timer": {"executed_lines": [87, 88, 89, 91], "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": 78}, "MetricsCollector.get_counter": {"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": 93}, "MetricsCollector.get_timing_stats": {"executed_lines": [113, 114, 116, 117, 119], "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}, "MetricsCollector.get_all_stats": {"executed_lines": [135, 141, 142, 143, 144, 145, 147], "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": 129}, "MetricsCollector.reset": {"executed_lines": [151, 152, 153], "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": 149}, "get_metrics": {"executed_lines": [161], "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": 159}, "timed_operation": {"executed_lines": [174, 181], "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": 164}, "timed_operation.decorator": {"executed_lines": [175, 179], "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": 174}, "timed_operation.decorator.wrapper": {"executed_lines": [176, 177], "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": 175}, "PerformanceMonitor.__init__": {"executed_lines": [188], "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": 187}, "PerformanceMonitor.record_state_transition": {"executed_lines": [196, 197], "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": 190}, "PerformanceMonitor.record_database_query": {"executed_lines": [206], "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": 199}, "PerformanceMonitor.record_git_operation": {"executed_lines": [215], "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": 208}, "PerformanceMonitor.get_transition_stats": {"executed_lines": [223], "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": 217}, "PerformanceMonitor.get_query_stats": {"executed_lines": [231, 232, 233, 234, 235, 236, 237, 238], "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": 225}, "PerformanceMonitor.check_performance_thresholds": {"executed_lines": [246, 248, 249, 250, 254, 255, 256, 261], "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": [257], "excluded_lines": [], "start_line": 240}, "": {"executed_lines": [7, 8, 9, 10, 11, 14, 15, 18, 19, 20, 22, 28, 34, 35, 40, 43, 48, 57, 66, 77, 78, 93, 104, 129, 149, 156, 159, 164, 184, 187, 190, 199, 208, 217, 225, 240, 264], "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": {"Timer": {"executed_lines": [24, 25, 26, 30, 31, 32, 37], "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": 15}, "MetricsCollector": {"executed_lines": [44, 45, 46, 55, 64, 73, 74, 75, 87, 88, 89, 91, 102, 113, 114, 116, 117, 119, 135, 141, 142, 143, 144, 145, 147, 151, 152, 153], "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": 40}, "PerformanceMonitor": {"executed_lines": [188, 196, 197, 206, 215, 223, 231, 232, 233, 234, 235, 236, 237, 238, 246, 248, 249, 250, 254, 255, 256, 261], "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": [257], "excluded_lines": [], "start_line": 184}, "": {"executed_lines": [7, 8, 9, 10, 11, 14, 15, 18, 19, 20, 22, 28, 34, 35, 40, 43, 48, 57, 66, 77, 78, 93, 104, 129, 149, 156, 159, 161, 164, 174, 175, 176, 177, 179, 181, 184, 187, 190, 199, 208, 217, 225, 240, 264], "summary": {"covered_lines": 44, "num_statements": 44, "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/mcp_server/utils/security.py": {"executed_lines": [7, 8, 9, 10, 11, 14, 15, 18, 19, 20, 23, 24, 27, 28, 31, 34, 35, 36, 37, 38, 44, 47, 65, 66, 67, 68, 69, 71, 73, 83, 84, 86, 87, 89, 90, 91, 93, 94, 98, 100, 101, 102, 103, 105, 107, 108, 109, 111, 113, 123, 124, 126, 127, 133, 143, 144, 146, 147, 148, 150, 151, 153, 156, 158, 165, 166, 167, 168, 169, 176, 183, 184, 186, 195, 197, 199, 201, 203, 205, 214, 228, 229, 230, 231, 233, 234, 236, 238, 239, 240, 244, 246, 249, 250, 253, 260, 261, 262, 263, 264, 267, 274, 277, 280], "summary": {"covered_lines": 104, "num_statements": 113, "percent_covered": 92.03539823008849, "percent_covered_display": "92", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 92.03539823008849, "percent_statements_covered_display": "92"}, "missing_lines": [70, 154, 171, 172, 173, 174, 211, 241, 242], "excluded_lines": [], "functions": {"RateLimitExceeded.__init__": {"executed_lines": [35, 36, 37, 38], "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": 34}, "RateLimiter.__init__": {"executed_lines": [66, 67, 68, 69, 71], "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": [70], "excluded_lines": [], "start_line": 65}, "RateLimiter.is_allowed": {"executed_lines": [83, 84, 86, 87, 89, 90, 91, 93, 94, 98, 100, 101, 102, 103, 105, 107, 108, 109, 111], "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": 73}, "RateLimiter.check_rate_limit": {"executed_lines": [123, 124, 126, 127], "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": 113}, "RateLimiter.get_remaining": {"executed_lines": [143, 144, 146, 147, 148, 150, 151, 153, 156], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90"}, "missing_lines": [154], "excluded_lines": [], "start_line": 133}, "RateLimiter.reset": {"executed_lines": [165, 166, 167, 168, 169], "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": [171, 172, 173, 174], "excluded_lines": [], "start_line": 158}, "RateLimiter.set_config": {"executed_lines": [183, 184], "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": 176}, "RateLimiter.get_config": {"executed_lines": [195], "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}, "RateLimiter.enable": {"executed_lines": [199], "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": 197}, "RateLimiter.disable": {"executed_lines": [203], "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": 201}, "RateLimiter.is_enabled": {"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}, "rate_limit": {"executed_lines": [228, 229, 246], "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": 214}, "rate_limit.decorator": {"executed_lines": [230, 244], "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": 228}, "rate_limit.decorator.wrapper": {"executed_lines": [231, 233, 234, 236, 238, 239, 240], "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": [241, 242], "excluded_lines": [], "start_line": 230}, "get_rate_limiter": {"executed_lines": [260, 261, 262, 263, 264], "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": 253}, "set_rate_limiter": {"executed_lines": [274], "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": 267}, "reset_rate_limiter": {"executed_lines": [280], "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": 277}, "": {"executed_lines": [7, 8, 9, 10, 11, 14, 15, 18, 19, 20, 23, 24, 27, 28, 31, 34, 44, 47, 65, 73, 113, 133, 158, 176, 186, 197, 201, 205, 214, 249, 250, 253, 267, 277], "summary": {"covered_lines": 34, "num_statements": 34, "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": {"RateLimitConfig": {"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}, "RateLimitEntry": {"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": 24}, "RateLimitExceeded": {"executed_lines": [35, 36, 37, 38], "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": 31}, "RateLimiter": {"executed_lines": [66, 67, 68, 69, 71, 83, 84, 86, 87, 89, 90, 91, 93, 94, 98, 100, 101, 102, 103, 105, 107, 108, 109, 111, 123, 124, 126, 127, 143, 144, 146, 147, 148, 150, 151, 153, 156, 165, 166, 167, 168, 169, 183, 184, 195, 199, 203], "summary": {"covered_lines": 47, "num_statements": 54, "percent_covered": 87.03703703703704, "percent_covered_display": "87", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 87.03703703703704, "percent_statements_covered_display": "87"}, "missing_lines": [70, 154, 171, 172, 173, 174, 211], "excluded_lines": [], "start_line": 44}, "": {"executed_lines": [7, 8, 9, 10, 11, 14, 15, 18, 19, 20, 23, 24, 27, 28, 31, 34, 44, 47, 65, 73, 113, 133, 158, 176, 186, 197, 201, 205, 214, 228, 229, 230, 231, 233, 234, 236, 238, 239, 240, 244, 246, 249, 250, 253, 260, 261, 262, 263, 264, 267, 274, 277, 280], "summary": {"covered_lines": 53, "num_statements": 55, "percent_covered": 96.36363636363636, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.36363636363636, "percent_statements_covered_display": "96"}, "missing_lines": [241, 242], "excluded_lines": [], "start_line": 1}}}, "src/mcp_server/utils/validation.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 10, 13, 16, 19, 33, 36, 37, 39, 41, 42, 44, 45, 46, 48, 51, 66, 69, 70, 72, 73, 75, 76, 78, 80, 81, 82, 83, 85, 86, 88, 91, 105, 108, 109, 111, 112, 114, 117, 132, 135, 136, 138, 139, 141, 142, 144, 147, 157, 160, 162, 164, 165, 167, 170, 181, 184, 185, 187, 190, 196, 208, 211, 212, 216, 219, 232, 233, 235, 236, 238, 239, 241, 242, 244, 245, 247, 248, 250, 253, 266, 269, 271, 272, 274, 275, 277, 278, 279, 281, 284, 297, 298, 300, 301, 303, 305, 308, 320, 321, 323, 324, 326, 327, 329, 330, 332, 333, 335, 337, 338, 342], "summary": {"covered_lines": 118, "num_statements": 128, "percent_covered": 92.1875, "percent_covered_display": "92", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 92.1875, "percent_statements_covered_display": "92"}, "missing_lines": [34, 67, 106, 133, 158, 182, 209, 267, 339, 340], "excluded_lines": [], "functions": {"sanitize_prompt": {"executed_lines": [33, 36, 37, 39, 41, 42, 44, 45, 46, 48], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [34], "excluded_lines": [], "start_line": 19}, "validate_path": {"executed_lines": [66, 69, 70, 72, 73, 75, 76, 78, 80, 81, 82, 83, 85, 86, 88], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94"}, "missing_lines": [67], "excluded_lines": [], "start_line": 51}, "validate_state_number": {"executed_lines": [105, 108, 109, 111, 112, 114], "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": [106], "excluded_lines": [], "start_line": 91}, "validate_state_range": {"executed_lines": [132, 135, 136, 138, 139, 141, 142, 144], "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": [133], "excluded_lines": [], "start_line": 117}, "sanitize_branch_name": {"executed_lines": [157, 160, 162, 164, 165, 167], "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": [158], "excluded_lines": [], "start_line": 147}, "validate_diff_info": {"executed_lines": [181, 184, 185, 187], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [182], "excluded_lines": [], "start_line": 170}, "validate_transition_id": {"executed_lines": [208, 211, 212, 216], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [209], "excluded_lines": [], "start_line": 196}, "validate_rate_limit_params": {"executed_lines": [232, 233, 235, 236, 238, 239, 241, 242, 244, 245, 247, 248, 250], "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": 219}, "validate_search_text": {"executed_lines": [266, 269, 271, 272, 274, 275, 277, 278, 279, 281], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91"}, "missing_lines": [267], "excluded_lines": [], "start_line": 253}, "sanitize_for_json": {"executed_lines": [297, 298, 300, 301, 303, 305], "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": 284}, "validate_volume_path": {"executed_lines": [320, 321, 323, 324, 326, 327, 329, 330, 332, 333, 335, 337, 338, 342], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88"}, "missing_lines": [339, 340], "excluded_lines": [], "start_line": 308}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 10, 13, 16, 19, 51, 91, 117, 147, 170, 190, 196, 219, 253, 284, 308], "summary": {"covered_lines": 22, "num_statements": 22, "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": {"ValidationError": {"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": 13}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 10, 13, 16, 19, 33, 36, 37, 39, 41, 42, 44, 45, 46, 48, 51, 66, 69, 70, 72, 73, 75, 76, 78, 80, 81, 82, 83, 85, 86, 88, 91, 105, 108, 109, 111, 112, 114, 117, 132, 135, 136, 138, 139, 141, 142, 144, 147, 157, 160, 162, 164, 165, 167, 170, 181, 184, 185, 187, 190, 196, 208, 211, 212, 216, 219, 232, 233, 235, 236, 238, 239, 241, 242, 244, 245, 247, 248, 250, 253, 266, 269, 271, 272, 274, 275, 277, 278, 279, 281, 284, 297, 298, 300, 301, 303, 305, 308, 320, 321, 323, 324, 326, 327, 329, 330, 332, 333, 335, 337, 338, 342], "summary": {"covered_lines": 118, "num_statements": 128, "percent_covered": 92.1875, "percent_covered_display": "92", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 92.1875, "percent_statements_covered_display": "92"}, "missing_lines": [34, 67, 106, 133, 158, 182, 209, 267, 339, 340], "excluded_lines": [], "start_line": 1}}}}, "totals": {"covered_lines": 1249, "num_statements": 1461, "percent_covered": 85.48939082819986, "percent_covered_display": "85", "missing_lines": 212, "excluded_lines": 2, "percent_statements_covered": 85.48939082819986, "percent_statements_covered_display": "85"}}