From 87c0e4de3cf3ad7d865702c3d4badb3a155512da Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 8 Apr 2026 07:42:53 +0000 Subject: [PATCH] Update badge JSONs [CI] --- docs/coverage-summary.json | 1 + docs/rfc2119-summary.json | 187 +++++++++++++++++++++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 docs/coverage-summary.json create mode 100644 docs/rfc2119-summary.json diff --git a/docs/coverage-summary.json b/docs/coverage-summary.json new file mode 100644 index 0000000..84432a0 --- /dev/null +++ b/docs/coverage-summary.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.13.5", "timestamp": "2026-04-08T07:42:52.538036", "branch_coverage": false, "show_contexts": false}, "files": {"ai-agentic-embedded-base/tools/hw/schops/tests/test_rules_engine.py": {"executed_lines": [1, 2, 3, 6, 15, 16, 21, 27, 34], "summary": {"covered_lines": 9, "num_statements": 27, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33"}, "missing_lines": [7, 8, 9, 10, 11, 12, 17, 18, 19, 22, 23, 24, 25, 28, 29, 30, 31, 35], "excluded_lines": [], "functions": {"load_schops_module": {"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": [7, 8, 9, 10, 11, 12], "excluded_lines": [], "start_line": 6}, "TestRuleMatch.test_ref_prefix": {"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": [17, 18, 19], "excluded_lines": [], "start_line": 16}, "TestRuleMatch.test_lib_id_prefix": {"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": [22, 23, 24, 25], "excluded_lines": [], "start_line": 21}, "TestRuleMatch.test_value_regex": {"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": [28, 29, 30, 31], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [1, 2, 3, 6, 15, 16, 21, 27, 34], "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": [35], "excluded_lines": [], "start_line": 1}}, "classes": {"TestRuleMatch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 22, 23, 24, 25, 28, 29, 30, 31], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [1, 2, 3, 6, 15, 16, 21, 27, 34], "summary": {"covered_lines": 9, "num_statements": 16, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 56.25, "percent_statements_covered_display": "56"}, "missing_lines": [7, 8, 9, 10, 11, 12, 35], "excluded_lines": [], "start_line": 1}}}, "firmware/test/test_boot.py": {"executed_lines": [3, 7], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [5, 8, 9], "excluded_lines": [], "functions": {"test_boot": {"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": [5], "excluded_lines": [], "start_line": 3}, "": {"executed_lines": [3, 7], "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": [8, 9], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 7], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [5, 8, 9], "excluded_lines": [], "start_line": 1}}}, "kill_life/__init__.py": {"executed_lines": [3], "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": [], "functions": {"": {"executed_lines": [3], "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": 1}}, "classes": {"": {"executed_lines": [3], "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": 1}}}, "kill_life/agent_catalog.py": {"executed_lines": [3, 5, 6, 7, 8, 10, 11, 14, 15, 16, 19, 20, 23, 24, 27, 31, 55, 60], "summary": {"covered_lines": 18, "num_statements": 28, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 64.28571428571429, "percent_statements_covered_display": "64"}, "missing_lines": [28, 32, 33, 34, 35, 36, 52, 56, 57, 61], "excluded_lines": [], "functions": {"load_agent_catalog": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15}, "canonical_agents": {"executed_lines": [20], "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": 19}, "canonical_agent_ids": {"executed_lines": [24], "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": 23}, "canonical_agents_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": [28], "excluded_lines": [], "start_line": 27}, "canonical_agents_for_api": {"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": [32, 33, 34, 35, 36, 52], "excluded_lines": [], "start_line": 31}, "legacy_runtime_aliases": {"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": [56, 57], "excluded_lines": [], "start_line": 55}, "legacy_runtime_mapping": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61], "excluded_lines": [], "start_line": 60}, "": {"executed_lines": [3, 5, 6, 7, 8, 10, 11, 14, 15, 19, 23, 27, 31, 55, 60], "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": {"": {"executed_lines": [3, 5, 6, 7, 8, 10, 11, 14, 15, 16, 19, 20, 23, 24, 27, 31, 55, 60], "summary": {"covered_lines": 18, "num_statements": 28, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 64.28571428571429, "percent_statements_covered_display": "64"}, "missing_lines": [28, 32, 33, 34, 35, 36, 52, 56, 57, 61], "excluded_lines": [], "start_line": 1}}}, "kill_life/test/test_hello_world.py": {"executed_lines": [1, 3, 4, 7], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [5, 8], "excluded_lines": [], "functions": {"TestHelloWorld.test_addition": {"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": [5], "excluded_lines": [], "start_line": 4}, "": {"executed_lines": [1, 3, 4, 7], "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": [8], "excluded_lines": [], "start_line": 1}}, "classes": {"TestHelloWorld": {"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": [5], "excluded_lines": [], "start_line": 3}, "": {"executed_lines": [1, 3, 4, 7], "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": [8], "excluded_lines": [], "start_line": 1}}}, "kill_life/yiacad_action_registry.py": {"executed_lines": [3, 5, 6, 7, 8, 10, 11, 12, 36, 37, 41, 45, 49, 56, 60, 64, 72], "summary": {"covered_lines": 17, "num_statements": 31, "percent_covered": 54.83870967741935, "percent_covered_display": "55", "missing_lines": 14, "excluded_lines": 2, "percent_statements_covered": 54.83870967741935, "percent_statements_covered_display": "55"}, "missing_lines": [38, 42, 46, 50, 51, 57, 61, 65, 73, 74, 75, 76, 77, 78], "excluded_lines": [52, 53], "functions": {"load_yiacad_action_registry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38], "excluded_lines": [], "start_line": 37}, "yiacad_actions": {"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}, "yiacad_actions_by_command": {"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}, "get_yiacad_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [50, 51], "excluded_lines": [52, 53], "start_line": 49}, "yiacad_action_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": [57], "excluded_lines": [], "start_line": 56}, "yiacad_action_inputs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61], "excluded_lines": [], "start_line": 60}, "yiacad_actions_for_surface": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [65], "excluded_lines": [], "start_line": 64}, "yiacad_command_for_alias": {"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": [73, 74, 75, 76, 77, 78], "excluded_lines": [], "start_line": 72}, "": {"executed_lines": [3, 5, 6, 7, 8, 10, 11, 12, 36, 37, 41, 45, 49, 56, 60, 64, 72], "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": {"": {"executed_lines": [3, 5, 6, 7, 8, 10, 11, 12, 36, 37, 41, 45, 49, 56, 60, 64, 72], "summary": {"covered_lines": 17, "num_statements": 31, "percent_covered": 54.83870967741935, "percent_covered_display": "55", "missing_lines": 14, "excluded_lines": 2, "percent_statements_covered": 54.83870967741935, "percent_statements_covered_display": "55"}, "missing_lines": [38, 42, 46, 50, 51, 57, 61, 65, 73, 74, 75, 76, 77, 78], "excluded_lines": [52, 53], "start_line": 1}}}, "openclaw/onboarding/test_openclaw_actions.py": {"executed_lines": [5, 6, 8, 9, 11, 18, 26, 33], "summary": {"covered_lines": 8, "num_statements": 27, "percent_covered": 29.62962962962963, "percent_covered_display": "30", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 29.62962962962963, "percent_statements_covered_display": "30"}, "missing_lines": [12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36], "excluded_lines": [], "functions": {"test_label_addition": {"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": [12, 13, 14, 15, 16], "excluded_lines": [], "start_line": 11}, "test_comment_sanitization": {"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": [19, 20, 21, 22, 23, 24], "excluded_lines": [], "start_line": 18}, "test_no_secret_leak": {"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": [27, 28, 29, 30, 31], "excluded_lines": [], "start_line": 26}, "": {"executed_lines": [5, 6, 8, 9, 11, 18, 26, 33], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73"}, "missing_lines": [34, 35, 36], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [5, 6, 8, 9, 11, 18, 26, 33], "summary": {"covered_lines": 8, "num_statements": 27, "percent_covered": 29.62962962962963, "percent_covered_display": "30", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 29.62962962962963, "percent_statements_covered_display": "30"}, "missing_lines": [12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 34, 35, 36], "excluded_lines": [], "start_line": 1}}}, "test/test_agent_catalog_validator.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 31, 32, 65, 71, 83, 95, 108, 123, 138, 169], "summary": {"covered_lines": 30, "num_statements": 107, "percent_covered": 28.037383177570092, "percent_covered_display": "28", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 28.037383177570092, "percent_statements_covered_display": "28"}, "missing_lines": [33, 34, 36, 46, 47, 48, 49, 51, 52, 58, 59, 60, 61, 63, 66, 72, 73, 74, 75, 77, 79, 80, 81, 84, 85, 86, 87, 89, 91, 92, 93, 96, 97, 98, 99, 100, 102, 104, 105, 106, 109, 110, 111, 112, 113, 115, 117, 118, 119, 124, 125, 126, 127, 128, 129, 130, 132, 134, 135, 136, 139, 140, 141, 142, 143, 144, 155, 156, 157, 159, 161, 162, 163, 164, 165, 166, 170], "excluded_lines": [], "functions": {"load_validator": {"executed_lines": [19, 20, 21, 22, 23, 24], "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": 18}, "AgentCatalogValidatorTests.build_temp_repo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [33, 34, 36, 46, 47, 48, 49, 51, 52, 58, 59, 60, 61, 63], "excluded_lines": [], "start_line": 32}, "AgentCatalogValidatorTests.validate_temp_repo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [66], "excluded_lines": [], "start_line": 65}, "AgentCatalogValidatorTests.test_missing_prompt_is_reported": {"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": [72, 73, 74, 75, 77, 79, 80, 81], "excluded_lines": [], "start_line": 71}, "AgentCatalogValidatorTests.test_missing_agent_doc_is_reported": {"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": [84, 85, 86, 87, 89, 91, 92, 93], "excluded_lines": [], "start_line": 83}, "AgentCatalogValidatorTests.test_readme_drift_is_reported": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [96, 97, 98, 99, 100, 102, 104, 105, 106], "excluded_lines": [], "start_line": 95}, "AgentCatalogValidatorTests.test_matrix_drift_is_reported": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [109, 110, 111, 112, 113, 115, 117, 118, 119], "excluded_lines": [], "start_line": 108}, "AgentCatalogValidatorTests.test_invalid_owner_agent_is_reported": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124, 125, 126, 127, 128, 129, 130, 132, 134, 135, 136], "excluded_lines": [], "start_line": 123}, "AgentCatalogValidatorTests.test_new_catalog_agent_requires_matching_files": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [139, 140, 141, 142, 143, 144, 155, 156, 157, 159, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "start_line": 138}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 18, 27, 28, 31, 32, 65, 71, 83, 95, 108, 123, 138, 169], "summary": {"covered_lines": 24, "num_statements": 25, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.0, "percent_statements_covered_display": "96"}, "missing_lines": [170], "excluded_lines": [], "start_line": 1}}, "classes": {"AgentCatalogValidatorTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 76, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 76, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [33, 34, 36, 46, 47, 48, 49, 51, 52, 58, 59, 60, 61, 63, 66, 72, 73, 74, 75, 77, 79, 80, 81, 84, 85, 86, 87, 89, 91, 92, 93, 96, 97, 98, 99, 100, 102, 104, 105, 106, 109, 110, 111, 112, 113, 115, 117, 118, 119, 124, 125, 126, 127, 128, 129, 130, 132, 134, 135, 136, 139, 140, 141, 142, 143, 144, 155, 156, 157, 159, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "start_line": 31}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 31, 32, 65, 71, 83, 95, 108, 123, 138, 169], "summary": {"covered_lines": 30, "num_statements": 31, "percent_covered": 96.7741935483871, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.7741935483871, "percent_statements_covered_display": "97"}, "missing_lines": [170], "excluded_lines": [], "start_line": 1}}}, "test/test_apply_safe_patch.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 46, 76], "summary": {"covered_lines": 13, "num_statements": 31, "percent_covered": 41.935483870967744, "percent_covered_display": "42", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 41.935483870967744, "percent_statements_covered_display": "42"}, "missing_lines": [17, 18, 19, 20, 21, 22, 37, 43, 44, 47, 48, 49, 50, 51, 66, 72, 73, 77], "excluded_lines": [], "functions": {"ApplySafePatchTests.test_rejects_path_traversal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 20, 21, 22, 37, 43, 44], "excluded_lines": [], "start_line": 16}, "ApplySafePatchTests.test_applies_in_scope_edit": {"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": [47, 48, 49, 50, 51, 66, 72, 73], "excluded_lines": [], "start_line": 46}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 46, 76], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [77], "excluded_lines": [], "start_line": 1}}, "classes": {"ApplySafePatchTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 20, 21, 22, 37, 43, 44, 47, 48, 49, 50, 51, 66, 72, 73], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 46, 76], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [77], "excluded_lines": [], "start_line": 1}}}, "test/test_auto_check_ci_cd.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 13, 14, 35, 55, 79, 119, 149, 164, 176, 197, 214, 219, 227, 244, 264], "summary": {"covered_lines": 22, "num_statements": 103, "percent_covered": 21.359223300970875, "percent_covered_display": "21", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 21.359223300970875, "percent_statements_covered_display": "21"}, "missing_lines": [15, 33, 36, 53, 56, 57, 77, 80, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 137, 141, 142, 143, 144, 145, 146, 147, 150, 151, 152, 153, 155, 160, 161, 162, 165, 170, 171, 177, 178, 179, 180, 181, 188, 189, 191, 192, 193, 194, 195, 198, 199, 200, 201, 206, 208, 209, 210, 211, 212, 215, 216, 217, 220, 224, 225, 228, 233, 234, 235, 236, 237, 238, 239, 245, 250, 251, 252, 259, 260, 261, 265], "excluded_lines": [], "functions": {"AutoCheckCiCdTests.sample_evidence_summary": {"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": [15, 33], "excluded_lines": [], "start_line": 14}, "AutoCheckCiCdTests.sample_drift_evidence_summary": {"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": [36, 53], "excluded_lines": [], "start_line": 35}, "AutoCheckCiCdTests.sample_drift_report": {"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": [56, 57, 77], "excluded_lines": [], "start_line": 55}, "AutoCheckCiCdTests.sample_report": {"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": [80], "excluded_lines": [], "start_line": 79}, "AutoCheckCiCdTests.test_render_markdown_summary_contains_lane_table_and_step_details": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 137, 141, 142, 143, 144, 145, 146, 147], "excluded_lines": [], "start_line": 119}, "AutoCheckCiCdTests.test_render_markdown_summary_omits_focus_failures_when_all_green": {"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": [150, 151, 152, 153, 155, 160, 161, 162], "excluded_lines": [], "start_line": 149}, "AutoCheckCiCdTests.test_render_markdown_summary_marks_verify_drift_when_summary_still_ok": {"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": [165, 170, 171], "excluded_lines": [], "start_line": 164}, "AutoCheckCiCdTests.test_write_step_summary_writes_markdown_when_env_is_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [177, 178, 179, 180, 181, 188, 189, 191, 192, 193, 194, 195], "excluded_lines": [], "start_line": 176}, "AutoCheckCiCdTests.test_write_markdown_report_writes_sidecar_in_docs_evidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [198, 199, 200, 201, 206, 208, 209, 210, 211, 212], "excluded_lines": [], "start_line": 197}, "AutoCheckCiCdTests.test_compact_repo_paths_keeps_markdown_repo_relative": {"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": [215, 216, 217], "excluded_lines": [], "start_line": 214}, "AutoCheckCiCdTests.test_markdown_signal_compacts_artifact_lists": {"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": [220, 224, 225], "excluded_lines": [], "start_line": 219}, "AutoCheckCiCdTests.test_artifact_summary_rows_extract_counts_and_samples": {"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": [228, 233, 234, 235, 236, 237, 238, 239], "excluded_lines": [], "start_line": 227}, "AutoCheckCiCdTests.test_artifact_summary_rows_marks_drift_when_verify_fails_after_ok_summary": {"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": [245, 250, 251, 252, 259, 260, 261], "excluded_lines": [], "start_line": 244}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 13, 14, 35, 55, 79, 119, 149, 164, 176, 197, 214, 219, 227, 244, 264], "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": [265], "excluded_lines": [], "start_line": 1}}, "classes": {"AutoCheckCiCdTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 80, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 80, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 33, 36, 53, 56, 57, 77, 80, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 137, 141, 142, 143, 144, 145, 146, 147, 150, 151, 152, 153, 155, 160, 161, 162, 165, 170, 171, 177, 178, 179, 180, 181, 188, 189, 191, 192, 193, 194, 195, 198, 199, 200, 201, 206, 208, 209, 210, 211, 212, 215, 216, 217, 220, 224, 225, 228, 233, 234, 235, 236, 237, 238, 239, 245, 250, 251, 252, 259, 260, 261], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 13, 14, 35, 55, 79, 119, 149, 164, 176, 197, 214, 219, 227, 244, 264], "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": [265], "excluded_lines": [], "start_line": 1}}}, "test/test_autonomous_next_lots_catalog.py": {"executed_lines": [2, 4, 5, 6, 7, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 29, 30, 37], "summary": {"covered_lines": 20, "num_statements": 25, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80"}, "missing_lines": [31, 32, 33, 34, 38], "excluded_lines": [], "functions": {"load_module": {"executed_lines": [18, 19, 20, 21, 22, 23], "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": 17}, "AutonomousNextLotsCatalogTests.test_all_declared_lot_owners_are_canonical": {"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": [31, 32, 33, 34], "excluded_lines": [], "start_line": 30}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 12, 13, 14, 17, 26, 29, 30, 37], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [38], "excluded_lines": [], "start_line": 1}}, "classes": {"AutonomousNextLotsCatalogTests": {"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": [31, 32, 33, 34], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 26, 29, 30, 37], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [38], "excluded_lines": [], "start_line": 1}}}, "test/test_eda_integration.py": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 53, 110, 158, 161, 162, 179, 186, 200, 215, 231, 253, 266, 282, 312, 315, 323, 355, 367, 380, 404, 407, 427, 438, 448, 456, 463, 471, 479, 487, 492, 501, 512, 525], "summary": {"covered_lines": 45, "num_statements": 230, "percent_covered": 19.565217391304348, "percent_covered_display": "20", "missing_lines": 185, "excluded_lines": 0, "percent_statements_covered": 19.565217391304348, "percent_statements_covered_display": "20"}, "missing_lines": [114, 116, 118, 124, 125, 126, 127, 129, 130, 131, 132, 134, 135, 137, 138, 140, 148, 149, 153, 154, 155, 164, 165, 166, 169, 170, 173, 174, 175, 181, 182, 184, 188, 189, 191, 194, 195, 196, 202, 203, 204, 205, 207, 209, 217, 218, 219, 220, 222, 224, 233, 234, 235, 236, 238, 241, 242, 243, 244, 247, 248, 249, 250, 251, 255, 256, 257, 258, 260, 263, 264, 268, 269, 270, 271, 273, 274, 277, 278, 285, 286, 289, 290, 291, 292, 295, 296, 299, 302, 303, 304, 305, 308, 309, 317, 318, 319, 320, 321, 326, 327, 328, 340, 341, 342, 344, 346, 347, 348, 349, 350, 351, 352, 353, 357, 358, 359, 360, 362, 363, 364, 365, 369, 370, 371, 374, 376, 377, 378, 382, 383, 384, 393, 394, 395, 397, 399, 400, 401, 409, 419, 420, 421, 422, 424, 425, 429, 433, 434, 435, 436, 440, 444, 445, 446, 450, 454, 458, 459, 460, 461, 465, 469, 473, 477, 481, 485, 489, 490, 494, 498, 499, 503, 504, 505, 506, 507, 508, 509, 510, 514, 520, 521, 522, 526], "excluded_lines": [], "functions": {"kicad_sch_to_csv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [114, 116, 118, 124, 125, 126, 127, 129, 130, 131, 132, 134, 135, 137, 138, 140, 148, 149, 153, 154, 155], "excluded_lines": [], "start_line": 110}, "TestEdaIntegrationWorkflow.setUpClass": {"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": [164, 165, 166, 169, 170, 173, 174, 175], "excluded_lines": [], "start_line": 162}, "TestEdaIntegrationWorkflow.test_01_parse_csv_bom": {"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": [181, 182, 184], "excluded_lines": [], "start_line": 179}, "TestEdaIntegrationWorkflow.test_02_deduplicate_merges_identical": {"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": [188, 189, 191, 194, 195, 196], "excluded_lines": [], "start_line": 186}, "TestEdaIntegrationWorkflow.test_03_suggest_alternatives": {"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": [202, 203, 204, 205, 207, 209], "excluded_lines": [], "start_line": 200}, "TestEdaIntegrationWorkflow.test_04_classify_assembly_categories": {"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": [217, 218, 219, 220, 222, 224], "excluded_lines": [], "start_line": 215}, "TestEdaIntegrationWorkflow.test_05_generate_report_structure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [233, 234, 235, 236, 238, 241, 242, 243, 244, 247, 248, 249, 250, 251], "excluded_lines": [], "start_line": 231}, "TestEdaIntegrationWorkflow.test_06_report_contains_components": {"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": [255, 256, 257, 258, 260, 263, 264], "excluded_lines": [], "start_line": 253}, "TestEdaIntegrationWorkflow.test_07_write_csv_roundtrip": {"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": [268, 269, 270, 271, 273, 274, 277, 278], "excluded_lines": [], "start_line": 266}, "TestEdaIntegrationWorkflow.test_08_full_workflow_end_to_end": {"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": [285, 286, 289, 290, 291, 292, 295, 296, 299, 302, 303, 304, 305, 308, 309], "excluded_lines": [], "start_line": 282}, "TestLcscPriceApi.test_invalid_part_number_format": {"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": [317, 318, 319, 320, 321], "excluded_lines": [], "start_line": 315}, "TestLcscPriceApi.test_valid_format_accepted": {"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": [326, 327, 328, 340, 341, 342, 344, 346, 347, 348, 349, 350, 351, 352, 353], "excluded_lines": [], "start_line": 323}, "TestLcscPriceApi.test_network_error_graceful_fallback": {"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": [357, 358, 359, 360, 362, 363, 364, 365], "excluded_lines": [], "start_line": 355}, "TestLcscPriceApi.test_http_404_graceful": {"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": [369, 370, 371, 374, 376, 377, 378], "excluded_lines": [], "start_line": 367}, "TestLcscPriceApi.test_multiple_parts_batch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [382, 383, 384, 393, 394, 395, 397, 399, 400, 401], "excluded_lines": [], "start_line": 380}, "TestDfmCheck.test_standard_2layer_passes": {"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": [409, 419, 420, 421, 422, 424, 425], "excluded_lines": [], "start_line": 407}, "TestDfmCheck.test_trace_too_thin_fails": {"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": [429, 433, 434, 435, 436], "excluded_lines": [], "start_line": 427}, "TestDfmCheck.test_via_too_small_fails": {"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": [440, 444, 445, 446], "excluded_lines": [], "start_line": 438}, "TestDfmCheck.test_clearance_too_small_fails": {"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": [450, 454], "excluded_lines": [], "start_line": 448}, "TestDfmCheck.test_invalid_layer_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": [458, 459, 460, 461], "excluded_lines": [], "start_line": 456}, "TestDfmCheck.test_board_too_large_fails": {"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": [465, 469], "excluded_lines": [], "start_line": 463}, "TestDfmCheck.test_unsupported_surface_finish": {"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": [473, 477], "excluded_lines": [], "start_line": 471}, "TestDfmCheck.test_unsupported_thickness": {"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": [481, 485], "excluded_lines": [], "start_line": 479}, "TestDfmCheck.test_minimal_params_defaults_pass": {"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": [489, 490], "excluded_lines": [], "start_line": 487}, "TestDfmCheck.test_warnings_near_limit": {"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": [494, 498, 499], "excluded_lines": [], "start_line": 492}, "TestDfmCheck.test_return_structure": {"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": [503, 504, 505, 506, 507, 508, 509, 510], "excluded_lines": [], "start_line": 501}, "TestDfmCheck.test_multiple_failures_reported": {"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": [514, 520, 521, 522], "excluded_lines": [], "start_line": 512}, "": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 53, 110, 158, 161, 162, 179, 186, 200, 215, 231, 253, 266, 282, 312, 315, 323, 355, 367, 380, 404, 407, 427, 438, 448, 456, 463, 471, 479, 487, 492, 501, 512, 525], "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": [526], "excluded_lines": [], "start_line": 1}}, "classes": {"TestEdaIntegrationWorkflow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 73, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 73, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [164, 165, 166, 169, 170, 173, 174, 175, 181, 182, 184, 188, 189, 191, 194, 195, 196, 202, 203, 204, 205, 207, 209, 217, 218, 219, 220, 222, 224, 233, 234, 235, 236, 238, 241, 242, 243, 244, 247, 248, 249, 250, 251, 255, 256, 257, 258, 260, 263, 264, 268, 269, 270, 271, 273, 274, 277, 278, 285, 286, 289, 290, 291, 292, 295, 296, 299, 302, 303, 304, 305, 308, 309], "excluded_lines": [], "start_line": 158}, "TestLcscPriceApi": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [317, 318, 319, 320, 321, 326, 327, 328, 340, 341, 342, 344, 346, 347, 348, 349, 350, 351, 352, 353, 357, 358, 359, 360, 362, 363, 364, 365, 369, 370, 371, 374, 376, 377, 378, 382, 383, 384, 393, 394, 395, 397, 399, 400, 401], "excluded_lines": [], "start_line": 312}, "TestDfmCheck": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [409, 419, 420, 421, 422, 424, 425, 429, 433, 434, 435, 436, 440, 444, 445, 446, 450, 454, 458, 459, 460, 461, 465, 469, 473, 477, 481, 485, 489, 490, 494, 498, 499, 503, 504, 505, 506, 507, 508, 509, 510, 514, 520, 521, 522], "excluded_lines": [], "start_line": 404}, "": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 53, 110, 158, 161, 162, 179, 186, 200, 215, 231, 253, 266, 282, 312, 315, 323, 355, 367, 380, 404, 407, 427, 438, 448, 456, 463, 471, 479, 487, 492, 501, 512, 525], "summary": {"covered_lines": 45, "num_statements": 67, "percent_covered": 67.16417910447761, "percent_covered_display": "67", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 67.16417910447761, "percent_statements_covered_display": "67"}, "missing_lines": [114, 116, 118, 124, 125, 126, 127, 129, 130, 131, 132, 134, 135, 137, 138, 140, 148, 149, 153, 154, 155, 526], "excluded_lines": [], "start_line": 1}}}, "test/test_firmware_evidence.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 11, 14, 15, 26, 63], "summary": {"covered_lines": 12, "num_statements": 39, "percent_covered": 30.76923076923077, "percent_covered_display": "31", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 30.76923076923077, "percent_statements_covered_display": "31"}, "missing_lines": [16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 33, 34, 36, 37, 39, 40, 41, 43, 54, 56, 57, 58, 59, 60, 64], "excluded_lines": [], "functions": {"FirmwareEvidenceTests.test_native_pio_command_detects_repo_local_venv_binary": {"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": [16, 17, 18, 19, 20, 21, 23, 24], "excluded_lines": [], "start_line": 15}, "FirmwareEvidenceTests.test_collect_evidence_rejects_stale_artifacts_after_failed_step": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28, 29, 30, 33, 34, 36, 37, 39, 43, 54, 56, 57, 58, 59, 60], "excluded_lines": [], "start_line": 26}, "FirmwareEvidenceTests.test_collect_evidence_rejects_stale_artifacts_after_failed_step.capture_summary": {"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": [40, 41], "excluded_lines": [], "start_line": 39}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 11, 14, 15, 26, 63], "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": [64], "excluded_lines": [], "start_line": 1}}, "classes": {"FirmwareEvidenceTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 33, 34, 36, 37, 39, 40, 41, 43, 54, 56, 57, 58, 59, 60], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 11, 14, 15, 26, 63], "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": [64], "excluded_lines": [], "start_line": 1}}}, "test/test_freecad_mcp.py": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 20, 36, 37, 70], "summary": {"covered_lines": 12, "num_statements": 46, "percent_covered": 26.08695652173913, "percent_covered_display": "26", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 26.08695652173913, "percent_statements_covered_display": "26"}, "missing_lines": [15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 38, 46, 47, 48, 49, 50, 52, 53, 54, 55, 60, 61, 62, 63, 64, 65, 66, 67, 71], "excluded_lines": [], "functions": {"write_message": {"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": [15, 16, 17], "excluded_lines": [], "start_line": 14}, "read_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33], "excluded_lines": [], "start_line": 20}, "FreeCadMcpTests.test_server_supports_initialize_and_tools_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38, 46, 47, 48, 49, 50, 52, 53, 54, 55, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 20, 36, 37, 70], "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": [71], "excluded_lines": [], "start_line": 1}}, "classes": {"FreeCadMcpTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38, 46, 47, 48, 49, 50, 52, 53, 54, 55, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 36}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 20, 36, 37, 70], "summary": {"covered_lines": 12, "num_statements": 28, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 42.857142857142854, "percent_statements_covered_display": "43"}, "missing_lines": [15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 71], "excluded_lines": [], "start_line": 1}}}, "test/test_github_dispatch_mcp.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 81, 121, 165], "summary": {"covered_lines": 15, "num_statements": 86, "percent_covered": 17.441860465116278, "percent_covered_display": "17", "missing_lines": 71, "excluded_lines": 0, "percent_statements_covered": 17.441860465116278, "percent_statements_covered_display": "17"}, "missing_lines": [16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 39, 40, 41, 42, 52, 53, 57, 58, 59, 61, 65, 66, 67, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 95, 96, 105, 106, 107, 112, 113, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 135, 136, 148, 149, 150, 155, 156, 157, 158, 159, 160, 161, 162, 166], "excluded_lines": [], "functions": {"write_message": {"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": [16, 17, 18], "excluded_lines": [], "start_line": 15}, "read_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34], "excluded_lines": [], "start_line": 21}, "GitHubDispatchMcpTests.test_server_supports_initialize_and_tools_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 40, 41, 42, 52, 53, 57, 58, 59, 61, 65, 66, 67, 72, 73, 74, 75, 76, 77, 78, 79], "excluded_lines": [], "start_line": 38}, "GitHubDispatchMcpTests.test_list_allowlisted_workflows_succeeds_without_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [82, 83, 84, 85, 95, 96, 105, 106, 107, 112, 113, 114, 115, 116, 117, 118, 119], "excluded_lines": [], "start_line": 81}, "GitHubDispatchMcpTests.test_dispatch_workflow_returns_structured_missing_secret_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [122, 123, 124, 125, 135, 136, 148, 149, 150, 155, 156, 157, 158, 159, 160, 161, 162], "excluded_lines": [], "start_line": 121}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 81, 121, 165], "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": [166], "excluded_lines": [], "start_line": 1}}, "classes": {"GitHubDispatchMcpTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 40, 41, 42, 52, 53, 57, 58, 59, 61, 65, 66, 67, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 85, 95, 96, 105, 106, 107, 112, 113, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 135, 136, 148, 149, 150, 155, 156, 157, 158, 159, 160, 161, 162], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 81, 121, 165], "summary": {"covered_lines": 15, "num_statements": 31, "percent_covered": 48.38709677419355, "percent_covered_display": "48", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 48.38709677419355, "percent_statements_covered_display": "48"}, "missing_lines": [16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 166], "excluded_lines": [], "start_line": 1}}}, "test/test_intelligence_tui_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 30, 41, 52, 71, 90, 106, 112, 131, 149, 164, 181, 213, 228, 242], "summary": {"covered_lines": 27, "num_statements": 175, "percent_covered": 15.428571428571429, "percent_covered_display": "15", "missing_lines": 148, "excluded_lines": 0, "percent_statements_covered": 15.428571428571429, "percent_statements_covered_display": "15"}, "missing_lines": [20, 27, 28, 31, 38, 39, 42, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 85, 86, 87, 88, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 107, 108, 109, 110, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 132, 133, 134, 135, 145, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 165, 166, 167, 168, 169, 170, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 229, 236, 237, 238, 239, 243], "excluded_lines": [], "functions": {"IntelligenceTuiContractTests.run_script": {"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": [20, 27, 28], "excluded_lines": [], "start_line": 19}, "IntelligenceTuiContractTests.run_script_from_cwd": {"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": [31, 38, 39], "excluded_lines": [], "start_line": 30}, "IntelligenceTuiContractTests.run_text_script": {"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": [42, 49, 50], "excluded_lines": [], "start_line": 41}, "IntelligenceTuiContractTests.test_status_reports_canonical_sources_and_extension_repos": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "excluded_lines": [], "start_line": 52}, "IntelligenceTuiContractTests.test_memory_writes_latest_artifacts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 85, 86, 87, 88], "excluded_lines": [], "start_line": 71}, "IntelligenceTuiContractTests.test_status_is_repo_root_stable_outside_repo_cwd": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102], "excluded_lines": [], "start_line": 90}, "IntelligenceTuiContractTests.test_next_actions_is_exposed": {"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": [107, 108, 109, 110], "excluded_lines": [], "start_line": 106}, "IntelligenceTuiContractTests.test_scorecard_persists_lane_maturity_and_fragmentation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": [], "start_line": 112}, "IntelligenceTuiContractTests.test_comparison_covers_five_target_repos": {"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": [132, 133, 134, 135, 145, 146, 147], "excluded_lines": [], "start_line": 131}, "IntelligenceTuiContractTests.test_recommendations_exposes_prioritized_queue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162], "excluded_lines": [], "start_line": 149}, "IntelligenceTuiContractTests.test_research_uses_current_official_table": {"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": [165, 166, 167, 168, 169, 170], "excluded_lines": [], "start_line": 164}, "IntelligenceTuiContractTests.test_summary_short_json_is_compact_and_stable": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211], "excluded_lines": [], "start_line": 181}, "IntelligenceTuiContractTests.test_summary_short_text_is_extension_friendly": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "excluded_lines": [], "start_line": 213}, "IntelligenceTuiContractTests.test_legacy_wrapper_still_works": {"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": [229, 236, 237, 238, 239], "excluded_lines": [], "start_line": 228}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 30, 41, 52, 71, 90, 106, 112, 131, 149, 164, 181, 213, 228, 242], "summary": {"covered_lines": 27, "num_statements": 28, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96"}, "missing_lines": [243], "excluded_lines": [], "start_line": 1}}, "classes": {"IntelligenceTuiContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 147, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 147, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20, 27, 28, 31, 38, 39, 42, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 85, 86, 87, 88, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 107, 108, 109, 110, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 132, 133, 134, 135, 145, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 165, 166, 167, 168, 169, 170, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 229, 236, 237, 238, 239], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 30, 41, 52, 71, 90, 106, 112, 131, 149, 164, 181, 213, 228, 242], "summary": {"covered_lines": 27, "num_statements": 28, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96"}, "missing_lines": [243], "excluded_lines": [], "start_line": 1}}}, "test/test_kill_life_agent_api.py": {"executed_lines": [2, 4, 5, 7], "summary": {"covered_lines": 4, "num_statements": 73, "percent_covered": 5.47945205479452, "percent_covered_display": "5", "missing_lines": 69, "excluded_lines": 0, "percent_statements_covered": 5.47945205479452, "percent_statements_covered_display": "5"}, "missing_lines": [9, 10, 13, 14, 15, 17, 18, 20, 21, 24, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 86, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 106, 107], "excluded_lines": [], "functions": {"DummyResponse.__init__": {"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": [15], "excluded_lines": [], "start_line": 14}, "DummyResponse.raise_for_status": {"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": [18], "excluded_lines": [], "start_line": 17}, "DummyResponse.json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [21], "excluded_lines": [], "start_line": 20}, "DummyAsyncClient.__init__": {"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": [29], "excluded_lines": [], "start_line": 28}, "DummyAsyncClient.__aenter__": {"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}, "DummyAsyncClient.__aexit__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [35], "excluded_lines": [], "start_line": 34}, "DummyAsyncClient.post": {"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": [38, 39, 40], "excluded_lines": [], "start_line": 37}, "KillLifeAgentApiTests.setUp": {"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": [45], "excluded_lines": [], "start_line": 44}, "KillLifeAgentApiTests.test_list_agents_uses_canonical_catalog": {"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": [48, 49, 50, 51, 52], "excluded_lines": [], "start_line": 47}, "KillLifeAgentApiTests.test_legacy_agents_return_gone_with_migration_mapping": {"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": [55, 56, 57, 58, 59, 60, 61, 62], "excluded_lines": [], "start_line": 54}, "KillLifeAgentApiTests.test_canonical_agent_run_routes_through_mascarade": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [65, 66, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "excluded_lines": [], "start_line": 64}, "KillLifeAgentApiTests.test_bridge_mascarade_uses_env_vars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [86, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103], "excluded_lines": [], "start_line": 84}, "": {"executed_lines": [2, 4, 5, 7], "summary": {"covered_lines": 4, "num_statements": 25, "percent_covered": 16.0, "percent_covered_display": "16", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 16.0, "percent_statements_covered_display": "16"}, "missing_lines": [9, 10, 13, 14, 17, 20, 24, 25, 26, 28, 31, 34, 37, 43, 44, 47, 54, 64, 84, 106, 107], "excluded_lines": [], "start_line": 1}}, "classes": {"DummyResponse": {"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": [15, 18, 21], "excluded_lines": [], "start_line": 13}, "DummyAsyncClient": {"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": [29, 32, 35, 38, 39, 40], "excluded_lines": [], "start_line": 24}, "KillLifeAgentApiTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [45, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103], "excluded_lines": [], "start_line": 43}, "": {"executed_lines": [2, 4, 5, 7], "summary": {"covered_lines": 4, "num_statements": 25, "percent_covered": 16.0, "percent_covered_display": "16", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 16.0, "percent_statements_covered_display": "16"}, "missing_lines": [9, 10, 13, 14, 17, 20, 24, 25, 26, 28, 31, 34, 37, 43, 44, 47, 54, 64, 84, 106, 107], "excluded_lines": [], "start_line": 1}}}, "test/test_knowledge_base_mcp.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 93, 137], "summary": {"covered_lines": 14, "num_statements": 68, "percent_covered": 20.58823529411765, "percent_covered_display": "21", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 20.58823529411765, "percent_statements_covered_display": "21"}, "missing_lines": [16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 39, 40, 41, 42, 52, 53, 62, 63, 66, 68, 77, 78, 79, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 107, 108, 120, 121, 122, 127, 128, 129, 130, 131, 132, 133, 134, 138], "excluded_lines": [], "functions": {"write_message": {"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": [16, 17, 18], "excluded_lines": [], "start_line": 15}, "read_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34], "excluded_lines": [], "start_line": 21}, "KnowledgeBaseMcpTests.test_server_supports_initialize_and_tools_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 40, 41, 42, 52, 53, 62, 63, 66, 68, 77, 78, 79, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": [], "start_line": 38}, "KnowledgeBaseMcpTests.test_search_pages_returns_structured_missing_secret_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [94, 95, 96, 97, 107, 108, 120, 121, 122, 127, 128, 129, 130, 131, 132, 133, 134], "excluded_lines": [], "start_line": 93}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 93, 137], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [138], "excluded_lines": [], "start_line": 1}}, "classes": {"KnowledgeBaseMcpTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 40, 41, 42, 52, 53, 62, 63, 66, 68, 77, 78, 79, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 107, 108, 120, 121, 122, 127, 128, 129, 130, 131, 132, 133, 134], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 93, 137], "summary": {"covered_lines": 14, "num_statements": 30, "percent_covered": 46.666666666666664, "percent_covered_display": "47", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 46.666666666666664, "percent_statements_covered_display": "47"}, "missing_lines": [16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 138], "excluded_lines": [], "start_line": 1}}}, "test/test_log_ops_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 30, 47, 85, 102], "summary": {"covered_lines": 15, "num_statements": 65, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 50, "excluded_lines": 0, "percent_statements_covered": 23.076923076923077, "percent_statements_covered_display": "23"}, "missing_lines": [17, 18, 19, 27, 28, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 61, 69, 70, 72, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99, 103], "excluded_lines": [], "functions": {"LogOpsContractTests.run_script": {"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": [17, 18, 19, 27, 28], "excluded_lines": [], "start_line": 16}, "LogOpsContractTests.test_summary_is_ok_when_no_logs_are_present": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": [], "start_line": 30}, "LogOpsContractTests.test_purge_removes_stale_logs_from_overridden_targets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 61, 69, 70, 72, 81, 82, 83], "excluded_lines": [], "start_line": 47}, "LogOpsContractTests.test_summary_json_escapes_paths_with_quotes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99], "excluded_lines": [], "start_line": 85}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 30, 47, 85, 102], "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": [103], "excluded_lines": [], "start_line": 1}}, "classes": {"LogOpsContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 27, 28, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 61, 69, 70, 72, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97, 98, 99], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 30, 47, 85, 102], "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": [103], "excluded_lines": [], "start_line": 1}}}, "test/test_machine_registry_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 13, 14, 25, 37, 44], "summary": {"covered_lines": 12, "num_statements": 30, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [15, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 45], "excluded_lines": [], "functions": {"MachineRegistryContractTests.run_script": {"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": [15, 22, 23], "excluded_lines": [], "start_line": 14}, "MachineRegistryContractTests.test_summary_uses_cockpit_contract": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "excluded_lines": [], "start_line": 25}, "MachineRegistryContractTests.test_show_returns_single_machine": {"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": [38, 39, 40, 41], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 13, 14, 25, 37, 44], "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": 1}}, "classes": {"MachineRegistryContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 13, 14, 25, 37, 44], "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": 1}}}, "test/test_mcp_runtime_status.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 23, 26, 33, 41, 58, 68, 77, 105, 132], "summary": {"covered_lines": 21, "num_statements": 52, "percent_covered": 40.38461538461539, "percent_covered_display": "40", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 40.38461538461539, "percent_statements_covered_display": "40"}, "missing_lines": [19, 20, 21, 24, 27, 31, 34, 38, 39, 42, 54, 55, 56, 61, 65, 66, 70, 74, 75, 78, 93, 106, 114, 121, 123, 124, 126, 127, 128, 129, 133], "excluded_lines": [], "functions": {"McpRuntimeStatusTests._FakeProc.__init__": {"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": [19, 20, 21], "excluded_lines": [], "start_line": 18}, "McpRuntimeStatusTests._FakeProc.communicate": {"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}, "McpRuntimeStatusTests.test_classify_ready": {"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": [27, 31], "excluded_lines": [], "start_line": 26}, "McpRuntimeStatusTests.test_classify_degraded_when_only_soft_blockers_exist": {"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": [34, 38, 39], "excluded_lines": [], "start_line": 33}, "McpRuntimeStatusTests.test_optional_degraded_path_does_not_block_non_strict_runtime": {"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": [42, 54, 55, 56], "excluded_lines": [], "start_line": 41}, "McpRuntimeStatusTests.test_classify_failed_accept_degraded_counts_as_degraded_non_strict": {"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": [61, 65, 66], "excluded_lines": [], "start_line": 58}, "McpRuntimeStatusTests.test_classify_failed_when_hard_failure_no_accept": {"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": [70, 74, 75], "excluded_lines": [], "start_line": 68}, "McpRuntimeStatusTests.test_derive_blockers_only_from_degraded_task_checks": {"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": [78, 93], "excluded_lines": [], "start_line": 77}, "McpRuntimeStatusTests.test_run_check_marks_external_quota_limit_as_optional_degraded": {"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": [106, 114, 121, 123, 126, 127, 128, 129], "excluded_lines": [], "start_line": 105}, "McpRuntimeStatusTests.test_run_check_marks_external_quota_limit_as_optional_degraded.fake_spawn": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124], "excluded_lines": [], "start_line": 123}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 23, 26, 33, 41, 58, 68, 77, 105, 132], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95"}, "missing_lines": [133], "excluded_lines": [], "start_line": 1}}, "classes": {"McpRuntimeStatusTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 31, 34, 38, 39, 42, 54, 55, 56, 61, 65, 66, 70, 74, 75, 78, 93, 106, 114, 121, 123, 124, 126, 127, 128, 129], "excluded_lines": [], "start_line": 16}, "McpRuntimeStatusTests._FakeProc": {"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": [19, 20, 21, 24], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 23, 26, 33, 41, 58, 68, 77, 105, 132], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95"}, "missing_lines": [133], "excluded_lines": [], "start_line": 1}}}, "test/test_nexar_mcp.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 23, 29, 52, 64, 65, 66, 123], "summary": {"covered_lines": 22, "num_statements": 73, "percent_covered": 30.136986301369863, "percent_covered_display": "30", "missing_lines": 51, "excluded_lines": 0, "percent_statements_covered": 30.136986301369863, "percent_statements_covered_display": "30"}, "missing_lines": [24, 25, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 67, 68, 69, 70, 80, 81, 94, 95, 96, 98, 99, 100, 102, 114, 115, 116, 117, 118, 120, 124], "excluded_lines": [], "functions": {"send_message": {"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": [24, 25, 26], "excluded_lines": [], "start_line": 23}, "read_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49], "excluded_lines": [], "start_line": 29}, "terminate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61], "excluded_lines": [], "start_line": 52}, "NexarMcpTests.test_server_supports_initialize_tools_list_and_demo_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [67, 68, 69, 70, 80, 81, 94, 95, 96, 98, 99, 100, 102, 114, 115, 116, 117, 118, 120], "excluded_lines": [], "start_line": 66}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 23, 29, 52, 64, 65, 66, 123], "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": [124], "excluded_lines": [], "start_line": 1}}, "classes": {"NexarMcpTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [67, 68, 69, 70, 80, 81, 94, 95, 96, 98, 99, 100, 102, 114, 115, 116, 117, 118, 120], "excluded_lines": [], "start_line": 65}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 23, 29, 52, 64, 65, 66, 123], "summary": {"covered_lines": 22, "num_statements": 54, "percent_covered": 40.74074074074074, "percent_covered_display": "41", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 40.74074074074074, "percent_statements_covered_display": "41"}, "missing_lines": [24, 25, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 124], "excluded_lines": [], "start_line": 1}}}, "test/test_openclaw_sanitizer.py": {"executed_lines": [6, 7, 8, 10, 11, 14, 15, 35], "summary": {"covered_lines": 8, "num_statements": 19, "percent_covered": 42.10526315789474, "percent_covered_display": "42", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 42.10526315789474, "percent_statements_covered_display": "42"}, "missing_lines": [16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 36], "excluded_lines": [], "functions": {"OpenClawSanitizerTests.test_sanitize_basic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 24, 25, 26, 27, 28, 29, 30, 31, 32], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [6, 7, 8, 10, 11, 14, 15, 35], "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": [36], "excluded_lines": [], "start_line": 1}}, "classes": {"OpenClawSanitizerTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 24, 25, 26, 27, 28, 29, 30, 31, 32], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [6, 7, 8, 10, 11, 14, 15, 35], "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": [36], "excluded_lines": [], "start_line": 1}}}, "test/test_openscad_mcp.py": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 20, 36, 37, 70], "summary": {"covered_lines": 12, "num_statements": 46, "percent_covered": 26.08695652173913, "percent_covered_display": "26", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 26.08695652173913, "percent_statements_covered_display": "26"}, "missing_lines": [15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 38, 46, 47, 48, 49, 50, 52, 53, 54, 55, 60, 61, 62, 63, 64, 65, 66, 67, 71], "excluded_lines": [], "functions": {"write_message": {"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": [15, 16, 17], "excluded_lines": [], "start_line": 14}, "read_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33], "excluded_lines": [], "start_line": 20}, "OpenScadMcpTests.test_server_supports_initialize_and_tools_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38, 46, 47, 48, 49, 50, 52, 53, 54, 55, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 20, 36, 37, 70], "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": [71], "excluded_lines": [], "start_line": 1}}, "classes": {"OpenScadMcpTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38, 46, 47, 48, 49, 50, 52, 53, 54, 55, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 36}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 20, 36, 37, 70], "summary": {"covered_lines": 12, "num_statements": 28, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 42.857142857142854, "percent_statements_covered_display": "43"}, "missing_lines": [15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 71], "excluded_lines": [], "start_line": 1}}}, "test/test_runtime_ai_gateway_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 19, 109, 164, 239], "summary": {"covered_lines": 16, "num_statements": 93, "percent_covered": 17.204301075268816, "percent_covered_display": "17", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 17.204301075268816, "percent_statements_covered_display": "17"}, "missing_lines": [20, 21, 22, 23, 24, 26, 39, 54, 59, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 114, 116, 121, 127, 133, 134, 145, 154, 155, 156, 157, 158, 159, 160, 165, 166, 167, 168, 169, 170, 171, 173, 197, 198, 199, 205, 206, 208, 231, 232, 233, 234, 235, 236, 240], "excluded_lines": [], "functions": {"RuntimeAiGatewayContractTests.test_status_aggregates_sources_into_runtime_mcp_ia_contract": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20, 21, 22, 23, 24, 26, 39, 54, 59, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "excluded_lines": [], "start_line": 19}, "RuntimeAiGatewayContractTests.test_refresh_degrades_fast_when_mesh_probe_times_out": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [110, 111, 112, 113, 114, 116, 121, 127, 133, 134, 145, 154, 155, 156, 157, 158, 159, 160], "excluded_lines": [], "start_line": 109}, "RuntimeAiGatewayContractTests.test_status_keeps_precise_web_reasons_and_refreshes_infra_vps_when_missing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [165, 166, 167, 168, 169, 170, 171, 173, 197, 198, 199, 205, 206, 208, 231, 232, 233, 234, 235, 236], "excluded_lines": [], "start_line": 164}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 19, 109, 164, 239], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [240], "excluded_lines": [], "start_line": 1}}, "classes": {"RuntimeAiGatewayContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 76, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 76, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20, 21, 22, 23, 24, 26, 39, 54, 59, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, 114, 116, 121, 127, 133, 134, 145, 154, 155, 156, 157, 158, 159, 160, 165, 166, 167, 168, 169, 170, 171, 173, 197, 198, 199, 205, 206, 208, 231, 232, 233, 234, 235, 236], "excluded_lines": [], "start_line": 18}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 19, 109, 164, 239], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [240], "excluded_lines": [], "start_line": 1}}}, "test/test_setup_repo_dry_run.py": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 13, 14, 29], "summary": {"covered_lines": 10, "num_statements": 17, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 58.8235294117647, "percent_statements_covered_display": "59"}, "missing_lines": [15, 16, 17, 24, 25, 26, 30], "excluded_lines": [], "functions": {"SetupRepoDryRunTests.test_dry_run_does_not_eval_repo_name": {"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": [15, 16, 17, 24, 25, 26], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 13, 14, 29], "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": [30], "excluded_lines": [], "start_line": 1}}, "classes": {"SetupRepoDryRunTests": {"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": [15, 16, 17, 24, 25, 26], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 13, 14, 29], "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": [30], "excluded_lines": [], "start_line": 1}}}, "test/test_validate_specs.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 59, 112], "summary": {"covered_lines": 14, "num_statements": 62, "percent_covered": 22.580645161290324, "percent_covered_display": "23", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 22.580645161290324, "percent_statements_covered_display": "23"}, "missing_lines": [16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 39, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 69, 70, 79, 80, 81, 84, 88, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 113], "excluded_lines": [], "functions": {"write_message": {"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": [16, 17, 18], "excluded_lines": [], "start_line": 15}, "read_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34], "excluded_lines": [], "start_line": 21}, "ValidateSpecsTests.test_cli_json_mode_emits_machine_readable_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "excluded_lines": [], "start_line": 38}, "ValidateSpecsTests.test_mcp_server_supports_initialize_and_tools_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [60, 69, 70, 79, 80, 81, 84, 88, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109], "excluded_lines": [], "start_line": 59}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 59, 112], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [113], "excluded_lines": [], "start_line": 1}}, "classes": {"ValidateSpecsTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [39, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 69, 70, 79, 80, 81, 84, 88, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109], "excluded_lines": [], "start_line": 37}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 21, 37, 38, 59, 112], "summary": {"covered_lines": 14, "num_statements": 30, "percent_covered": 46.666666666666664, "percent_covered_display": "47", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 46.666666666666664, "percent_statements_covered_display": "47"}, "missing_lines": [16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 113], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_action_registry_contract.py": {"executed_lines": [2, 4, 6, 14, 15, 28, 39], "summary": {"covered_lines": 7, "num_statements": 23, "percent_covered": 30.434782608695652, "percent_covered_display": "30", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 30.434782608695652, "percent_statements_covered_display": "30"}, "missing_lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 32, 35, 36, 40], "excluded_lines": [], "functions": {"YiacadActionRegistryContractTests.test_registry_is_machine_readable_and_unique": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "excluded_lines": [], "start_line": 15}, "YiacadActionRegistryContractTests.test_surface_views_cover_kicad_and_freecad": {"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": [29, 32, 35, 36], "excluded_lines": [], "start_line": 28}, "": {"executed_lines": [2, 4, 6, 14, 15, 28, 39], "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": [40], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadActionRegistryContractTests": {"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": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 32, 35, 36], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [2, 4, 6, 14, 15, 28, 39], "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": [40], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_ai_bridge_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 12, 15, 16, 40], "summary": {"covered_lines": 12, "num_statements": 24, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [17, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 41], "excluded_lines": [], "functions": {"YiacadAiBridgeContractTests.test_request_delegates_to_backend_without_persisting_local_queue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 12, 15, 16, 40], "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": [41], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadAiBridgeContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 12, 15, 16, 40], "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": [41], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_backend_contract.py": {"executed_lines": [2, 4, 5, 7, 8, 11, 12, 34, 47, 53, 94], "summary": {"covered_lines": 11, "num_statements": 59, "percent_covered": 18.64406779661017, "percent_covered_display": "19", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 18.64406779661017, "percent_statements_covered_display": "19"}, "missing_lines": [13, 14, 29, 30, 31, 32, 35, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 85, 87, 88, 89, 90, 91, 95], "excluded_lines": [], "functions": {"YiacadBackendContractTests.test_build_uiux_output_keeps_engine_status_and_degraded_reasons": {"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": [13, 14, 29, 30, 31, 32], "excluded_lines": [], "start_line": 12}, "YiacadBackendContractTests.test_context_record_exposes_engine_baseline_and_runtime_state": {"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": [35, 40, 41, 42, 43, 44, 45], "excluded_lines": [], "start_line": 34}, "YiacadBackendContractTests.test_command_output_returns_timeout_instead_of_hanging": {"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": [48, 49, 50, 51], "excluded_lines": [], "start_line": 47}, "YiacadBackendContractTests.test_detect_integrated_engines_uses_freecad_bundle_without_launching_gui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [54, 56, 70, 80, 85, 87, 88, 89, 90, 91], "excluded_lines": [], "start_line": 53}, "YiacadBackendContractTests.test_detect_integrated_engines_uses_freecad_bundle_without_launching_gui.fake_resolve_binary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "excluded_lines": [], "start_line": 56}, "YiacadBackendContractTests.test_detect_integrated_engines_uses_freecad_bundle_without_launching_gui.fake_command_output": {"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": [71, 72, 73, 74, 75, 76, 77, 78], "excluded_lines": [], "start_line": 70}, "": {"executed_lines": [2, 4, 5, 7, 8, 11, 12, 34, 47, 53, 94], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [95], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadBackendContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 29, 30, 31, 32, 35, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 85, 87, 88, 89, 90, 91], "excluded_lines": [], "start_line": 11}, "": {"executed_lines": [2, 4, 5, 7, 8, 11, 12, 34, 47, 53, 94], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [95], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_backend_service_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 9, 12, 13, 22, 48, 62], "summary": {"covered_lines": 11, "num_statements": 41, "percent_covered": 26.829268292682926, "percent_covered_display": "27", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 26.829268292682926, "percent_statements_covered_display": "27"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 38, 39, 40, 42, 43, 44, 45, 46, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 63], "excluded_lines": [], "functions": {"YiacadBackendServiceContractTests.test_dispatch_status_keeps_requested_surface_and_engine_status": {"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": [14, 15, 16, 17, 18, 19, 20], "excluded_lines": [], "start_line": 13}, "YiacadBackendServiceContractTests.test_failure_contract_and_artifact_index_remain_structured": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [23, 24, 25, 26, 38, 39, 40, 42, 43, 44, 45, 46], "excluded_lines": [], "start_line": 22}, "YiacadBackendServiceContractTests.test_dispatch_manufacturing_and_kiauto_commands_stays_structured": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [49, 50, 51, 52, 53, 55, 56, 57, 58, 59], "excluded_lines": [], "start_line": 48}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 12, 13, 22, 48, 62], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [63], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadBackendServiceContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 38, 39, 40, 42, 43, 44, 45, 46, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 12, 13, 22, 48, 62], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92"}, "missing_lines": [63], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_ci_pr_comment_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 17, 27, 28, 29, 33, 53, 66, 90, 96, 109], "summary": {"covered_lines": 20, "num_statements": 69, "percent_covered": 28.985507246376812, "percent_covered_display": "29", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 28.985507246376812, "percent_statements_covered_display": "29"}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 30, 31, 34, 35, 36, 49, 50, 51, 54, 55, 56, 62, 63, 64, 67, 68, 70, 71, 72, 73, 74, 76, 77, 84, 85, 86, 87, 88, 91, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 110], "excluded_lines": [], "functions": {"load_module": {"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": [18, 19, 20, 21, 22, 23, 24], "excluded_lines": [], "start_line": 17}, "YiacadCiPrCommentContractTests.setUpClass": {"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": [30, 31], "excluded_lines": [], "start_line": 29}, "YiacadCiPrCommentContractTests.test_docs_only_pr_summary_is_favorable": {"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": [34, 35, 36, 49, 50, 51], "excluded_lines": [], "start_line": 33}, "YiacadCiPrCommentContractTests.test_cad_pr_without_evidence_is_blocking": {"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": [54, 55, 56, 62, 63, 64], "excluded_lines": [], "start_line": 53}, "YiacadCiPrCommentContractTests.test_publish_script_updates_marker_comment": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [67, 68, 70, 76, 77, 84, 85, 86, 87, 88], "excluded_lines": [], "start_line": 66}, "YiacadCiPrCommentContractTests.test_publish_script_updates_marker_comment.fake_request": {"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": [71, 72, 73, 74], "excluded_lines": [], "start_line": 70}, "YiacadCiPrCommentContractTests.test_publish_script_accepts_gh_token_fallback": {"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": [91, 93, 94], "excluded_lines": [], "start_line": 90}, "YiacadCiPrCommentContractTests.test_workflow_wires_pr_review_job_and_permissions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "excluded_lines": [], "start_line": 96}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 17, 27, 28, 29, 33, 53, 66, 90, 96, 109], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95"}, "missing_lines": [110], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadCiPrCommentContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30, 31, 34, 35, 36, 49, 50, 51, 54, 55, 56, 62, 63, 64, 67, 68, 70, 71, 72, 73, 74, 76, 77, 84, 85, 86, 87, 88, 91, 93, 94, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 13, 14, 17, 27, 28, 29, 33, 53, 66, 90, 96, 109], "summary": {"covered_lines": 20, "num_statements": 28, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71"}, "missing_lines": [18, 19, 20, 21, 22, 23, 24, 110], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_evidence_pack_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 12, 13, 16, 26, 27, 28, 31, 63, 73], "summary": {"covered_lines": 16, "num_statements": 40, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40"}, "missing_lines": [17, 18, 19, 20, 21, 22, 23, 29, 32, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 67, 68, 69, 70, 74], "excluded_lines": [], "functions": {"load_module": {"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": [17, 18, 19, 20, 21, 22, 23], "excluded_lines": [], "start_line": 16}, "YiacadEvidencePackContractTests.setUpClass": {"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": [29], "excluded_lines": [], "start_line": 28}, "YiacadEvidencePackContractTests.test_builder_emits_normalized_schema": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 51, 52, 53, 54, 55, 56, 57, 58], "excluded_lines": [], "start_line": 31}, "YiacadEvidencePackContractTests.test_workflows_publish_standard_evidence_pack_artifacts": {"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": [64, 65, 67, 68, 69, 70], "excluded_lines": [], "start_line": 63}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 12, 13, 16, 26, 27, 28, 31, 63, 73], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [74], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadEvidencePackContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 32, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 67, 68, 69, 70], "excluded_lines": [], "start_line": 26}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 12, 13, 16, 26, 27, 28, 31, 63, 73], "summary": {"covered_lines": 16, "num_statements": 24, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67"}, "missing_lines": [17, 18, 19, 20, 21, 22, 23, 74], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_freecad_workbench_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 19, 26, 42, 49, 75], "summary": {"covered_lines": 15, "num_statements": 46, "percent_covered": 32.608695652173914, "percent_covered_display": "33", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 32.608695652173914, "percent_statements_covered_display": "33"}, "missing_lines": [17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 35, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 61, 69, 70, 71, 72, 76], "excluded_lines": [], "functions": {"YiacadFreecadWorkbenchContractTests.setUp": {"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": [17], "excluded_lines": [], "start_line": 16}, "YiacadFreecadWorkbenchContractTests.tearDown": {"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": [20, 21, 22, 23, 24], "excluded_lines": [], "start_line": 19}, "YiacadFreecadWorkbenchContractTests.test_adapter_exposes_document_selection_and_actions_without_runtime": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28, 29, 30, 35, 37, 38, 39, 40], "excluded_lines": [], "start_line": 26}, "YiacadFreecadWorkbenchContractTests.test_gui_module_imports_without_freecad_runtime": {"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": [43, 44, 45, 46, 47], "excluded_lines": [], "start_line": 42}, "YiacadFreecadWorkbenchContractTests.test_session_roundtrip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [50, 51, 52, 53, 54, 61, 69, 70, 71, 72], "excluded_lines": [], "start_line": 49}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 19, 26, 42, 49, 75], "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": [76], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadFreecadWorkbenchContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 35, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 61, 69, 70, 71, 72], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 19, 26, 42, 49, 75], "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": [76], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_kicad_plugin_contract.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 14, 15, 18, 25, 36, 49, 62, 89], "summary": {"covered_lines": 16, "num_statements": 57, "percent_covered": 28.07017543859649, "percent_covered_display": "28", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 28.07017543859649, "percent_statements_covered_display": "28"}, "missing_lines": [16, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 50, 51, 59, 60, 63, 64, 65, 66, 67, 74, 82, 83, 84, 85, 86, 90], "excluded_lines": [], "functions": {"YiACADKiCadPluginContractTest.setUp": {"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}, "YiACADKiCadPluginContractTest.tearDown": {"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": [19, 20, 21, 22, 23], "excluded_lines": [], "start_line": 18}, "YiACADKiCadPluginContractTest.test_common_project_inputs_from_board_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28, 29, 30, 31, 32, 33, 34], "excluded_lines": [], "start_line": 25}, "YiACADKiCadPluginContractTest.test_common_exposes_registry_backed_actions_and_runtime_discovery": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37, 38, 39, 40, 41, 43, 44, 45, 46, 47], "excluded_lines": [], "start_line": 36}, "YiACADKiCadPluginContractTest.test_action_module_imports_without_kicad_runtime": {"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": [50, 51, 59, 60], "excluded_lines": [], "start_line": 49}, "YiACADKiCadPluginContractTest.test_session_roundtrip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [63, 64, 65, 66, 67, 74, 82, 83, 84, 85, 86], "excluded_lines": [], "start_line": 62}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 14, 15, 18, 25, 36, 49, 62, 89], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [90], "excluded_lines": [], "start_line": 1}}, "classes": {"YiACADKiCadPluginContractTest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 50, 51, 59, 60, 63, 64, 65, 66, 67, 74, 82, 83, 84, 85, 86], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 14, 15, 18, 25, 36, 49, 62, 89], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [90], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_native_ops_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 15, 25, 36, 48], "summary": {"covered_lines": 12, "num_statements": 34, "percent_covered": 35.294117647058826, "percent_covered_display": "35", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 35.294117647058826, "percent_statements_covered_display": "35"}, "missing_lines": [16, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45, 49], "excluded_lines": [], "functions": {"YiacadNativeOpsContractTests.run_json": {"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": [16, 22, 23], "excluded_lines": [], "start_line": 15}, "YiacadNativeOpsContractTests.test_manufacturing_package_without_inputs_is_structured": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28, 29, 30, 31, 32, 33, 34], "excluded_lines": [], "start_line": 25}, "YiacadNativeOpsContractTests.test_kiauto_checks_without_board_is_structured": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": [], "start_line": 36}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 15, 25, 36, 48], "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": [49], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadNativeOpsContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 45], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [2, 4, 5, 6, 7, 10, 11, 14, 15, 25, 36, 48], "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": [49], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_native_surface_contract.py": {"executed_lines": [2, 4, 5, 7, 8, 17, 25, 33, 42, 51, 61, 71, 80, 92, 93, 94, 101, 105, 111, 121, 125, 138, 150, 162, 174], "summary": {"covered_lines": 25, "num_statements": 44, "percent_covered": 56.81818181818182, "percent_covered_display": "57", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 56.81818181818182, "percent_statements_covered_display": "57"}, "missing_lines": [95, 96, 97, 102, 103, 106, 107, 108, 109, 112, 122, 123, 126, 127, 139, 148, 151, 163, 175], "excluded_lines": [], "functions": {"YiacadNativeSurfaceContractTests.setUpClass": {"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": [95, 96, 97], "excluded_lines": [], "start_line": 94}, "YiacadNativeSurfaceContractTests.read_text": {"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": [102, 103], "excluded_lines": [], "start_line": 101}, "YiacadNativeSurfaceContractTests.assert_contains_all": {"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, 108, 109], "excluded_lines": [], "start_line": 105}, "YiacadNativeSurfaceContractTests.test_kicad_manager_exposes_full_yiacad_native_action_set": {"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": [112], "excluded_lines": [], "start_line": 111}, "YiacadNativeSurfaceContractTests.test_kicad_shell_toolbars_keep_yiacad_review_group": {"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": [122, 123], "excluded_lines": [], "start_line": 121}, "YiacadNativeSurfaceContractTests.test_kicad_control_layers_share_the_service_first_bridge": {"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": [126, 127], "excluded_lines": [], "start_line": 125}, "YiacadNativeSurfaceContractTests.test_kicad_plugin_keeps_palette_review_center_and_persistence": {"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, 148], "excluded_lines": [], "start_line": 138}, "YiacadNativeSurfaceContractTests.test_freecad_workbench_keeps_palette_review_center_and_persistence": {"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": [151], "excluded_lines": [], "start_line": 150}, "YiacadNativeSurfaceContractTests.test_freecad_shell_anchor_remains_available_for_native_convergence": {"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": [163], "excluded_lines": [], "start_line": 162}, "": {"executed_lines": [2, 4, 5, 7, 8, 17, 25, 33, 42, 51, 61, 71, 80, 92, 93, 94, 101, 105, 111, 121, 125, 138, 150, 162, 174], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96"}, "missing_lines": [175], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadNativeSurfaceContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [95, 96, 97, 102, 103, 106, 107, 108, 109, 112, 122, 123, 126, 127, 139, 148, 151, 163], "excluded_lines": [], "start_line": 92}, "": {"executed_lines": [2, 4, 5, 7, 8, 17, 25, 33, 42, 51, 61, 71, 80, 92, 93, 94, 101, 105, 111, 121, 125, 138, 150, 162, 174], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96"}, "missing_lines": [175], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_pr_summary_contract.py": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 23], "summary": {"covered_lines": 8, "num_statements": 16, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 24], "excluded_lines": [], "functions": {"YiacadPrSummaryContractTests.test_project_store_contains_docs_and_cad_review_logic": {"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": [14, 15, 16, 17, 18, 19, 20], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 23], "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": [24], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadPrSummaryContractTests": {"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": [14, 15, 16, 17, 18, 19, 20], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 23], "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": [24], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_project_shell_contract.py": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 26], "summary": {"covered_lines": 8, "num_statements": 19, "percent_covered": 42.10526315789474, "percent_covered_display": "42", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 42.10526315789474, "percent_statements_covered_display": "42"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 27], "excluded_lines": [], "functions": {"YiacadProjectShellContractTests.test_project_shell_surfaces_github_review_lane": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 26], "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": [27], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadProjectShellContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 26], "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": [27], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_uiux_tui_contract.py": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 11, 14, 15, 26, 35, 41, 60], "summary": {"covered_lines": 14, "num_statements": 39, "percent_covered": 35.8974358974359, "percent_covered_display": "36", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 35.8974358974359, "percent_statements_covered_display": "36"}, "missing_lines": [16, 23, 24, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61], "excluded_lines": [], "functions": {"YiacadUiuxTuiContractTests.run_json": {"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": [16, 23, 24], "excluded_lines": [], "start_line": 15}, "YiacadUiuxTuiContractTests.test_status_json_is_parseable_and_stable": {"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": [27, 28, 29, 30, 31, 32, 33], "excluded_lines": [], "start_line": 26}, "YiacadUiuxTuiContractTests.test_logs_summary_json_remains_parseable": {"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": [36, 37, 38, 39], "excluded_lines": [], "start_line": 35}, "YiacadUiuxTuiContractTests.test_backend_proof_confirms_service_first_transport": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [42, 49, 50, 51, 52, 53, 54, 55, 56, 57], "excluded_lines": [], "start_line": 41}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 11, 14, 15, 26, 35, 41, 60], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [61], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadUiuxTuiContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 23, 24, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [2, 4, 5, 6, 7, 9, 10, 11, 14, 15, 26, 35, 41, 60], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93"}, "missing_lines": [61], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_web_review_contract.py": {"executed_lines": [2, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 43, 80, 88, 98, 106], "summary": {"covered_lines": 16, "num_statements": 52, "percent_covered": 30.76923076923077, "percent_covered_display": "31", "missing_lines": 36, "excluded_lines": 0, "percent_statements_covered": 30.76923076923077, "percent_statements_covered_display": "31"}, "missing_lines": [18, 19, 20, 22, 30, 32, 40, 41, 44, 45, 46, 48, 60, 62, 74, 75, 77, 78, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 95, 96, 99, 102, 103, 107], "excluded_lines": [], "functions": {"YiacadWebReviewContractTests.test_ci_run_shape_is_exposed_consistently": {"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": [18, 19, 20, 22, 30, 32, 40, 41], "excluded_lines": [], "start_line": 17}, "YiacadWebReviewContractTests.test_review_contract_exposes_github_checks_and_evidence_packs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [44, 45, 46, 48, 60, 62, 74, 75, 77, 78], "excluded_lines": [], "start_line": 43}, "YiacadWebReviewContractTests.test_worker_persists_review_ready_ci_metadata": {"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": [81, 82, 83, 84, 85, 86], "excluded_lines": [], "start_line": 80}, "YiacadWebReviewContractTests.test_project_store_resolves_github_checks_and_evidence_packs": {"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": [89, 90, 91, 92, 93, 94, 95, 96], "excluded_lines": [], "start_line": 88}, "YiacadWebReviewContractTests.test_review_shell_offers_pr_summary_publish_action": {"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": [99, 102, 103], "excluded_lines": [], "start_line": 98}, "": {"executed_lines": [2, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 43, 80, 88, 98, 106], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [107], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadWebReviewContractTests": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 22, 30, 32, 40, 41, 44, 45, 46, 48, 60, 62, 74, 75, 77, 78, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 95, 96, 99, 102, 103], "excluded_lines": [], "start_line": 16}, "": {"executed_lines": [2, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 43, 80, 88, 98, 106], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94"}, "missing_lines": [107], "excluded_lines": [], "start_line": 1}}}, "test/test_yiacad_web_worker_contract.py": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 23], "summary": {"covered_lines": 8, "num_statements": 16, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 24], "excluded_lines": [], "functions": {"YiacadWebWorkerContractTests.test_worker_routes_all_yiacad_flows_through_backend_client": {"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": [14, 15, 16, 17, 18, 19, 20], "excluded_lines": [], "start_line": 13}, "": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 23], "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": [24], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadWebWorkerContractTests": {"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": [14, 15, 16, 17, 18, 19, 20], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [2, 4, 5, 8, 9, 12, 13, 23], "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": [24], "excluded_lines": [], "start_line": 1}}}, "test/test_zeroclaw_n8n_workflow_contract.py": {"executed_lines": [2, 4, 5, 6, 8, 9, 12, 13, 14, 17, 21, 31, 38], "summary": {"covered_lines": 13, "num_statements": 29, "percent_covered": 44.827586206896555, "percent_covered_display": "45", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 44.827586206896555, "percent_statements_covered_display": "45"}, "missing_lines": [15, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 39], "excluded_lines": [], "functions": {"ZeroclawN8nWorkflowContractTests.setUpClass": {"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": [15], "excluded_lines": [], "start_line": 14}, "ZeroclawN8nWorkflowContractTests.test_tracked_workflow_keeps_stable_identity": {"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": [18, 19], "excluded_lines": [], "start_line": 17}, "ZeroclawN8nWorkflowContractTests.test_smoke_workflow_uses_an_activatable_trigger": {"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": [22, 23, 24, 25, 26, 27, 28, 29], "excluded_lines": [], "start_line": 21}, "ZeroclawN8nWorkflowContractTests.test_trigger_connects_to_the_noop_smoke_node": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 33, 34, 35], "excluded_lines": [], "start_line": 31}, "": {"executed_lines": [2, 4, 5, 6, 8, 9, 12, 13, 14, 17, 21, 31, 38], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [39], "excluded_lines": [], "start_line": 1}}, "classes": {"ZeroclawN8nWorkflowContractTests": {"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": [15, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35], "excluded_lines": [], "start_line": 12}, "": {"executed_lines": [2, 4, 5, 6, 8, 9, 12, 13, 14, 17, 21, 31, 38], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93"}, "missing_lines": [39], "excluded_lines": [], "start_line": 1}}}, "tools/__init__.py": {"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": [], "functions": {"": {"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": 1}}, "classes": {"": {"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": 1}}}, "tools/ai/sanitize_issue.py": {"executed_lines": [3, 5, 8, 20, 37, 46, 50, 62, 70, 89, 112, 121], "summary": {"covered_lines": 12, "num_statements": 50, "percent_covered": 24.0, "percent_covered_display": "24", "missing_lines": 38, "excluded_lines": 0, "percent_statements_covered": 24.0, "percent_statements_covered_display": "24"}, "missing_lines": [6, 16, 17, 18, 30, 32, 34, 35, 44, 48, 56, 57, 59, 60, 68, 78, 79, 80, 81, 85, 86, 87, 103, 104, 105, 106, 107, 108, 109, 110, 113, 114, 115, 116, 117, 118, 119, 122], "excluded_lines": [], "functions": {"strip_html_comments": {"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": [6], "excluded_lines": [], "start_line": 5}, "collapse_ws": {"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": [16, 17, 18], "excluded_lines": [], "start_line": 8}, "remove_code_blocks": {"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": [30, 32, 34, 35], "excluded_lines": [], "start_line": 20}, "remove_html_blocks": {"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": 37}, "strip_html_tags": {"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": 46}, "neutralize_mentions_and_refs": {"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": [56, 57, 59, 60], "excluded_lines": [], "start_line": 50}, "remove_urls": {"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": 62}, "remove_suspicious_patterns": {"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": [78, 79, 80, 81, 85, 86, 87], "excluded_lines": [], "start_line": 70}, "sanitize_text": {"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": [103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 89}, "main": {"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": [113, 114, 115, 116, 117, 118, 119], "excluded_lines": [], "start_line": 112}, "": {"executed_lines": [3, 5, 8, 20, 37, 46, 50, 62, 70, 89, 112, 121], "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": [122], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [3, 5, 8, 20, 37, 46, 50, 62, 70, 89, 112, 121], "summary": {"covered_lines": 12, "num_statements": 50, "percent_covered": 24.0, "percent_covered_display": "24", "missing_lines": 38, "excluded_lines": 0, "percent_statements_covered": 24.0, "percent_statements_covered_display": "24"}, "missing_lines": [6, 16, 17, 18, 30, 32, 34, 35, 44, 48, 56, 57, 59, 60, 68, 78, 79, 80, 81, 85, 86, 87, 103, 104, 105, 106, 107, 108, 109, 110, 113, 114, 115, 116, 117, 118, 119, 122], "excluded_lines": [], "start_line": 1}}}, "tools/auto_check_ci_cd.py": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 33, 40, 44, 48, 56, 70, 83, 96, 107, 111, 121, 127, 133, 189, 196, 200, 243, 323, 329, 339, 377], "summary": {"covered_lines": 34, "num_statements": 204, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 170, "excluded_lines": 0, "percent_statements_covered": 16.666666666666668, "percent_statements_covered_display": "17"}, "missing_lines": [19, 25, 34, 35, 36, 37, 41, 45, 49, 50, 51, 52, 53, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 97, 98, 99, 100, 101, 102, 103, 104, 108, 112, 113, 114, 115, 116, 117, 118, 122, 123, 124, 128, 129, 130, 134, 135, 136, 140, 141, 146, 147, 148, 149, 154, 159, 164, 165, 166, 167, 168, 169, 170, 171, 176, 186, 190, 191, 192, 193, 197, 201, 203, 204, 205, 219, 220, 221, 222, 223, 232, 240, 244, 246, 257, 258, 259, 261, 262, 263, 272, 273, 276, 281, 285, 286, 287, 296, 297, 301, 302, 311, 312, 313, 314, 315, 316, 320, 324, 325, 326, 330, 331, 332, 333, 334, 335, 336, 340, 344, 346, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 372, 373, 374, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390], "excluded_lines": [], "functions": {"run_step": {"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": [19, 25], "excluded_lines": [], "start_line": 18}, "command_label": {"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": [34, 35, 36, 37], "excluded_lines": [], "start_line": 33}, "result_status_label": {"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": [41], "excluded_lines": [], "start_line": 40}, "target_returncode": {"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": [45], "excluded_lines": [], "start_line": 44}, "first_output_line": {"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": [49, 50, 51, 52, 53], "excluded_lines": [], "start_line": 48}, "compact_repo_paths": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 56}, "compact_artifact_list_signal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": [], "start_line": 70}, "artifact_items_from_signal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [84, 85, 86, 87, 88, 89, 90, 91, 92, 93], "excluded_lines": [], "start_line": 83}, "artifact_summary_sample": {"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": [97, 98, 99, 100, 101, 102, 103, 104], "excluded_lines": [], "start_line": 96}, "evidence_summary_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [108], "excluded_lines": [], "start_line": 107}, "load_evidence_summary": {"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": [112, 113, 114, 115, 116, 117, 118], "excluded_lines": [], "start_line": 111}, "missing_summary_cell": {"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": [122, 123, 124], "excluded_lines": [], "start_line": 121}, "drift_summary_cell": {"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": [128, 129, 130], "excluded_lines": [], "start_line": 127}, "artifact_summary_rows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [134, 135, 136, 140, 141, 146, 147, 148, 149, 154, 159, 164, 165, 166, 167, 168, 169, 170, 171, 176, 186], "excluded_lines": [], "start_line": 133}, "compact_markdown_signal": {"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": [190, 191, 192, 193], "excluded_lines": [], "start_line": 189}, "markdown_signal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [197], "excluded_lines": [], "start_line": 196}, "failing_lane_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [201, 203, 204, 205, 219, 220, 221, 222, 223, 232, 240], "excluded_lines": [], "start_line": 200}, "render_markdown_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [244, 246, 257, 258, 259, 261, 262, 263, 272, 273, 276, 281, 285, 286, 287, 296, 297, 301, 302, 311, 312, 313, 314, 315, 316, 320], "excluded_lines": [], "start_line": 243}, "write_markdown_report": {"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": [324, 325, 326], "excluded_lines": [], "start_line": 323}, "write_step_summary": {"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": [330, 331, 332, 333, 334, 335, 336], "excluded_lines": [], "start_line": 329}, "check_all_targets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [340, 344, 346, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 372, 373, 374], "excluded_lines": [], "start_line": 339}, "": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 33, 40, 44, 48, 56, 70, 83, 96, 107, 111, 121, 127, 133, 189, 196, 200, 243, 323, 329, 339, 377], "summary": {"covered_lines": 34, "num_statements": 47, "percent_covered": 72.34042553191489, "percent_covered_display": "72", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 72.34042553191489, "percent_statements_covered_display": "72"}, "missing_lines": [378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 33, 40, 44, 48, 56, 70, 83, 96, 107, 111, 121, 127, 133, 189, 196, 200, 243, 323, 329, 339, 377], "summary": {"covered_lines": 34, "num_statements": 204, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 170, "excluded_lines": 0, "percent_statements_covered": 16.666666666666668, "percent_statements_covered_display": "17"}, "missing_lines": [19, 25, 34, 35, 36, 37, 41, 45, 49, 50, 51, 52, 53, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 97, 98, 99, 100, 101, 102, 103, 104, 108, 112, 113, 114, 115, 116, 117, 118, 122, 123, 124, 128, 129, 130, 134, 135, 136, 140, 141, 146, 147, 148, 149, 154, 159, 164, 165, 166, 167, 168, 169, 170, 171, 176, 186, 190, 191, 192, 193, 197, 201, 203, 204, 205, 219, 220, 221, 222, 223, 232, 240, 244, 246, 257, 258, 259, 261, 262, 263, 272, 273, 276, 281, 285, 286, 287, 296, 297, 301, 302, 311, 312, 313, 314, 315, 316, 320, 324, 325, 326, 330, 331, 332, 333, 334, 335, 336, 340, 344, 346, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 372, 373, 374, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390], "excluded_lines": [], "start_line": 1}}}, "tools/autonomous_next_lots.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 24, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 435, 452, 456, 466, 479, 489, 495, 501, 536, 540, 554, 561, 576, 603, 618, 760, 824, 829, 896], "summary": {"covered_lines": 56, "num_statements": 307, "percent_covered": 18.241042345276874, "percent_covered_display": "18", "missing_lines": 251, "excluded_lines": 0, "percent_statements_covered": 18.241042345276874, "percent_statements_covered_display": "18"}, "missing_lines": [436, 437, 438, 439, 444, 449, 453, 457, 458, 459, 460, 461, 462, 463, 467, 480, 490, 491, 492, 496, 497, 498, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 537, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 555, 556, 557, 558, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 577, 578, 579, 580, 581, 582, 583, 584, 586, 587, 598, 599, 600, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 627, 663, 664, 665, 666, 667, 668, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 684, 685, 687, 688, 690, 691, 692, 693, 701, 702, 703, 704, 705, 706, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 726, 727, 730, 731, 733, 741, 742, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 756, 757, 765, 773, 774, 781, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 795, 796, 797, 798, 799, 800, 801, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 816, 817, 818, 819, 820, 821, 825, 826, 830, 831, 832, 833, 834, 836, 837, 838, 839, 841, 843, 844, 845, 846, 847, 849, 877, 878, 879, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 897], "excluded_lines": [], "functions": {"parse_args": {"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": [436, 437, 438, 439, 444, 449], "excluded_lines": [], "start_line": 435}, "now_label": {"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": [453], "excluded_lines": [], "start_line": 452}, "summarize_lot_status": {"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": [457, 458, 459, 460, 461, 462, 463], "excluded_lines": [], "start_line": 456}, "lot_handoff_info": {"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": [467], "excluded_lines": [], "start_line": 466}, "run_cmd": {"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": [480], "excluded_lines": [], "start_line": 479}, "is_noise_path": {"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": [490, 491, 492], "excluded_lines": [], "start_line": 489}, "filter_noise_paths": {"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": [496, 497, 498], "excluded_lines": [], "start_line": 495}, "git_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533], "excluded_lines": [], "start_line": 501}, "matches_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [537], "excluded_lines": [], "start_line": 536}, "detect_lots": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551], "excluded_lines": [], "start_line": 540}, "output_tail": {"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": [555, 556, 557, 558], "excluded_lines": [], "start_line": 554}, "classify_blocker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573], "excluded_lines": [], "start_line": 561}, "execute_lot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [577, 578, 579, 580, 581, 582, 583, 584, 586, 587, 598, 599, 600], "excluded_lines": [], "start_line": 576}, "load_intelligence_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615], "excluded_lines": [], "start_line": 603}, "render_plan": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 69, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 69, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [627, 663, 664, 665, 666, 667, 668, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 684, 685, 687, 688, 690, 691, 692, 693, 701, 702, 703, 704, 705, 706, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 726, 727, 730, 731, 733, 741, 742, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 756, 757], "excluded_lines": [], "start_line": 618}, "render_todo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [765, 773, 774, 781, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 795, 796, 797, 798, 799, 800, 801, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 816, 817, 818, 819, 820, 821], "excluded_lines": [], "start_line": 760}, "write_docs": {"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": [825, 826], "excluded_lines": [], "start_line": 824}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [830, 831, 832, 833, 834, 836, 837, 838, 839, 841, 843, 844, 845, 846, 847, 849, 877, 878, 879, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893], "excluded_lines": [], "start_line": 829}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 24, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 435, 452, 456, 466, 479, 489, 495, 501, 536, 540, 554, 561, 576, 603, 618, 760, 824, 829, 896], "summary": {"covered_lines": 56, "num_statements": 57, "percent_covered": 98.24561403508773, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.24561403508773, "percent_statements_covered_display": "98"}, "missing_lines": [897], "excluded_lines": [], "start_line": 1}}, "classes": {"Validation": {"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": 33}, "Lot": {"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": 40}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 24, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 435, 452, 456, 466, 479, 489, 495, 501, 536, 540, 554, 561, 576, 603, 618, 760, 824, 829, 896], "summary": {"covered_lines": 56, "num_statements": 307, "percent_covered": 18.241042345276874, "percent_covered_display": "18", "missing_lines": 251, "excluded_lines": 0, "percent_statements_covered": 18.241042345276874, "percent_statements_covered_display": "18"}, "missing_lines": [436, 437, 438, 439, 444, 449, 453, 457, 458, 459, 460, 461, 462, 463, 467, 480, 490, 491, 492, 496, 497, 498, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 537, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 555, 556, 557, 558, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 577, 578, 579, 580, 581, 582, 583, 584, 586, 587, 598, 599, 600, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 627, 663, 664, 665, 666, 667, 668, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 684, 685, 687, 688, 690, 691, 692, 693, 701, 702, 703, 704, 705, 706, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 726, 727, 730, 731, 733, 741, 742, 743, 744, 745, 747, 748, 750, 751, 752, 753, 754, 755, 756, 757, 765, 773, 774, 781, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 795, 796, 797, 798, 799, 800, 801, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 816, 817, 818, 819, 820, 821, 825, 826, 830, 831, 832, 833, 834, 836, 837, 838, 839, 841, 843, 844, 845, 846, 847, 849, 877, 878, 879, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 897], "excluded_lines": [], "start_line": 1}}}, "tools/cad/yiacad_ai_bridge.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 34, 44, 51, 67, 87, 108, 122, 131], "summary": {"covered_lines": 19, "num_statements": 75, "percent_covered": 25.333333333333332, "percent_covered_display": "25", "missing_lines": 56, "excluded_lines": 0, "percent_statements_covered": 25.333333333333332, "percent_statements_covered_display": "25"}, "missing_lines": [20, 21, 23, 24, 25, 26, 27, 28, 30, 31, 35, 36, 37, 38, 39, 40, 41, 45, 46, 47, 48, 52, 53, 54, 55, 56, 57, 58, 59, 68, 69, 70, 71, 72, 73, 74, 82, 83, 84, 88, 89, 90, 91, 104, 105, 109, 110, 118, 119, 123, 124, 125, 126, 127, 128, 132], "excluded_lines": [], "functions": {"parse_args": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [20, 21, 23, 24, 25, 26, 27, 28, 30, 31], "excluded_lines": [], "start_line": 19}, "selection_from_json": {"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": [35, 36, 37, 38, 39, 40, 41], "excluded_lines": [], "start_line": 34}, "latest_status_excerpt": {"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": [45, 46, 47, 48], "excluded_lines": [], "start_line": 44}, "infer_inputs": {"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": [52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": [], "start_line": 51}, "run_backend": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [68, 69, 70, 71, 72, 73, 74, 82, 83, 84], "excluded_lines": [], "start_line": 67}, "command_request": {"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": [88, 89, 90, 91, 104, 105], "excluded_lines": [], "start_line": 87}, "command_status": {"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": [109, 110, 118, 119], "excluded_lines": [], "start_line": 108}, "main": {"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": [123, 124, 125, 126, 127, 128], "excluded_lines": [], "start_line": 122}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 34, 44, 51, 67, 87, 108, 122, 131], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [132], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [4, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 34, 44, 51, 67, 87, 108, 122, 131], "summary": {"covered_lines": 19, "num_statements": 75, "percent_covered": 25.333333333333332, "percent_covered_display": "25", "missing_lines": 56, "excluded_lines": 0, "percent_statements_covered": 25.333333333333332, "percent_statements_covered_display": "25"}, "missing_lines": [20, 21, 23, 24, 25, 26, 27, 28, 30, 31, 35, 36, 37, 38, 39, 40, 41, 45, 46, 47, 48, 52, 53, 54, 55, 56, 57, 58, 59, 68, 69, 70, 71, 72, 73, 74, 82, 83, 84, 88, 89, 90, 91, 104, 105, 109, 110, 118, 119, 123, 124, 125, 126, 127, 128, 132], "excluded_lines": [], "start_line": 1}}}, "tools/cad/yiacad_backend.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 30, 34, 44, 52, 66, 75, 84, 94, 118, 134, 176, 211, 224, 233, 251, 271, 314, 323, 333, 370, 376, 380], "summary": {"covered_lines": 38, "num_statements": 196, "percent_covered": 19.387755102040817, "percent_covered_display": "19", "missing_lines": 158, "excluded_lines": 0, "percent_statements_covered": 19.387755102040817, "percent_statements_covered_display": "19"}, "missing_lines": [31, 35, 36, 37, 38, 39, 40, 41, 45, 46, 47, 48, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 67, 68, 69, 70, 71, 72, 76, 77, 78, 79, 80, 81, 85, 86, 87, 88, 89, 90, 91, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 124, 125, 126, 127, 128, 129, 130, 131, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 162, 163, 164, 177, 178, 179, 180, 181, 182, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 225, 226, 227, 228, 229, 230, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 281, 282, 283, 284, 285, 286, 287, 315, 316, 324, 325, 326, 327, 328, 329, 330, 349, 371, 372, 373, 377, 381], "excluded_lines": [], "functions": {"utc_timestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31], "excluded_lines": [], "start_line": 30}, "resolve_path": {"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": [35, 36, 37, 38, 39, 40, 41], "excluded_lines": [], "start_line": 34}, "first_existing_path": {"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": [45, 46, 47, 48, 49], "excluded_lines": [], "start_line": 44}, "resolve_binary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "excluded_lines": [], "start_line": 52}, "version_tuple": {"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": [67, 68, 69, 70, 71, 72], "excluded_lines": [], "start_line": 66}, "version_gte": {"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": [76, 77, 78, 79, 80, 81], "excluded_lines": [], "start_line": 75}, "command_output": {"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": [85, 86, 87, 88, 89, 90, 91], "excluded_lines": [], "start_line": 84}, "bundle_version": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "excluded_lines": [], "start_line": 94}, "probe_engine_version": {"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": [124, 125, 126, 127, 128, 129, 130, 131], "excluded_lines": [], "start_line": 118}, "engine_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 162, 163, 164], "excluded_lines": [], "start_line": 134}, "detect_integrated_engines": {"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": [177, 178, 179, 180, 181, 182], "excluded_lines": [], "start_line": 176}, "collect_engine_reasons": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "excluded_lines": [], "start_line": 211}, "overall_engine_health": {"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": [225, 226, 227, 228, 229, 230], "excluded_lines": [], "start_line": 224}, "infer_surface": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248], "excluded_lines": [], "start_line": 233}, "build_context_ref": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268], "excluded_lines": [], "start_line": 251}, "build_context_record": {"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": [281, 282, 283, 284, 285, 286, 287], "excluded_lines": [], "start_line": 271}, "artifact_entry": {"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": [315, 316], "excluded_lines": [], "start_line": 314}, "output_status_from_returncodes": {"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": [324, 325, 326, 327, 328, 329, 330], "excluded_lines": [], "start_line": 323}, "build_uiux_output": {"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": [349], "excluded_lines": [], "start_line": 333}, "write_json": {"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": [371, 372, 373], "excluded_lines": [], "start_line": 370}, "write_context_record": {"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": [377], "excluded_lines": [], "start_line": 376}, "write_uiux_output": {"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": [381], "excluded_lines": [], "start_line": 380}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 30, 34, 44, 52, 66, 75, 84, 94, 118, 134, 176, 211, 224, 233, 251, 271, 314, 323, 333, 370, 376, 380], "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": 1}}, "classes": {"": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 30, 34, 44, 52, 66, 75, 84, 94, 118, 134, 176, 211, 224, 233, 251, 271, 314, 323, 333, 370, 376, 380], "summary": {"covered_lines": 38, "num_statements": 196, "percent_covered": 19.387755102040817, "percent_covered_display": "19", "missing_lines": 158, "excluded_lines": 0, "percent_statements_covered": 19.387755102040817, "percent_statements_covered_display": "19"}, "missing_lines": [31, 35, 36, 37, 38, 39, 40, 41, 45, 46, 47, 48, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 67, 68, 69, 70, 71, 72, 76, 77, 78, 79, 80, 81, 85, 86, 87, 88, 89, 90, 91, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 124, 125, 126, 127, 128, 129, 130, 131, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 162, 163, 164, 177, 178, 179, 180, 181, 182, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 225, 226, 227, 228, 229, 230, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 281, 282, 283, 284, 285, 286, 287, 315, 316, 324, 325, 326, 327, 328, 329, 330, 349, 371, 372, 373, 377, 381], "excluded_lines": [], "start_line": 1}}}, "tools/cad/yiacad_backend_service.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 29, 30, 31, 42, 43, 44, 45, 48, 53, 79, 85, 95, 118, 152, 153, 155, 163, 201, 239, 245, 252, 276], "summary": {"covered_lines": 35, "num_statements": 144, "percent_covered": 24.305555555555557, "percent_covered_display": "24", "missing_lines": 109, "excluded_lines": 0, "percent_statements_covered": 24.305555555555557, "percent_statements_covered_display": "24"}, "missing_lines": [20, 49, 50, 59, 60, 61, 62, 80, 81, 82, 86, 87, 88, 89, 90, 91, 92, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 149, 156, 157, 158, 159, 160, 161, 164, 165, 166, 177, 178, 179, 180, 181, 182, 183, 184, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 219, 222, 223, 224, 225, 231, 236, 237, 240, 241, 242, 246, 247, 248, 249, 253, 254, 255, 256, 268, 269, 270, 271, 273, 277], "excluded_lines": [], "functions": {"ensure_dir": {"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": [49, 50], "excluded_lines": [], "start_line": 48}, "uiux_contract_from_failure": {"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": [59, 60, 61, 62], "excluded_lines": [], "start_line": 53}, "build_args": {"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": [80, 81, 82], "excluded_lines": [], "start_line": 79}, "latest_context_payload": {"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": [86, 87, 88, 89, 90, 91, 92], "excluded_lines": [], "start_line": 85}, "latest_artifacts_payload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108], "excluded_lines": [], "start_line": 95}, "dispatch_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 149], "excluded_lines": [], "start_line": 118}, "YiacadBackendHandler._json_response": {"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": [156, 157, 158, 159, 160, 161], "excluded_lines": [], "start_line": 155}, "YiacadBackendHandler.do_GET": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [164, 165, 166, 177, 178, 179, 180, 181, 182, 183, 184, 193, 194, 195, 196, 197, 198, 199], "excluded_lines": [], "start_line": 163}, "YiacadBackendHandler.do_POST": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 219, 222, 223, 224, 225, 231, 236, 237], "excluded_lines": [], "start_line": 201}, "YiacadBackendHandler.log_message": {"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": [240, 241, 242], "excluded_lines": [], "start_line": 239}, "parse_args": {"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": [246, 247, 248, 249], "excluded_lines": [], "start_line": 245}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [253, 254, 255, 256, 268, 269, 270, 271, 273], "excluded_lines": [], "start_line": 252}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 29, 30, 31, 42, 43, 44, 45, 48, 53, 79, 85, 95, 118, 152, 153, 155, 163, 201, 239, 245, 252, 276], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.5945945945946, "percent_statements_covered_display": "95"}, "missing_lines": [20, 277], "excluded_lines": [], "start_line": 1}}, "classes": {"YiacadBackendHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [156, 157, 158, 159, 160, 161, 164, 165, 166, 177, 178, 179, 180, 181, 182, 183, 184, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 219, 222, 223, 224, 225, 231, 236, 237, 240, 241, 242], "excluded_lines": [], "start_line": 152}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 29, 30, 31, 42, 43, 44, 45, 48, 53, 79, 85, 95, 118, 152, 153, 155, 163, 201, 239, 245, 252, 276], "summary": {"covered_lines": 35, "num_statements": 96, "percent_covered": 36.458333333333336, "percent_covered_display": "36", "missing_lines": 61, "excluded_lines": 0, "percent_statements_covered": 36.458333333333336, "percent_statements_covered_display": "36"}, "missing_lines": [20, 49, 50, 59, 60, 61, 62, 80, 81, 82, 86, 87, 88, 89, 90, 91, 92, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 149, 246, 247, 248, 249, 253, 254, 255, 256, 268, 269, 270, 271, 273, 277], "excluded_lines": [], "start_line": 1}}}, "tools/cad/yiacad_native_ops.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 29, 30, 41, 42, 53, 54, 57, 61, 66, 70, 74, 78, 95, 99, 135, 143, 148, 153, 162, 169, 184, 198, 212, 223, 234, 241, 247, 296, 484, 653, 686, 862, 1076, 1207, 1241, 1247], "summary": {"covered_lines": 51, "num_statements": 528, "percent_covered": 9.659090909090908, "percent_covered_display": "10", "missing_lines": 477, "excluded_lines": 0, "percent_statements_covered": 9.659090909090908, "percent_statements_covered_display": "10"}, "missing_lines": [20, 58, 62, 63, 67, 71, 75, 79, 85, 92, 96, 113, 131, 132, 136, 137, 138, 139, 140, 144, 145, 149, 150, 154, 159, 163, 164, 165, 166, 170, 174, 175, 176, 177, 178, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 213, 214, 215, 216, 217, 218, 219, 220, 224, 225, 226, 227, 228, 229, 230, 231, 235, 236, 238, 242, 243, 244, 248, 249, 250, 251, 252, 253, 255, 256, 257, 258, 262, 263, 264, 265, 266, 289, 290, 291, 292, 293, 297, 298, 299, 300, 303, 304, 305, 306, 307, 308, 316, 317, 325, 326, 343, 344, 345, 346, 348, 349, 350, 371, 372, 373, 374, 375, 377, 378, 379, 381, 382, 383, 398, 399, 400, 401, 402, 403, 405, 406, 407, 422, 423, 424, 425, 426, 427, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 444, 449, 450, 451, 452, 453, 459, 460, 461, 462, 477, 478, 479, 480, 481, 485, 486, 487, 490, 491, 492, 493, 494, 495, 502, 503, 504, 521, 522, 523, 525, 526, 532, 553, 554, 555, 556, 557, 559, 560, 561, 565, 566, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 582, 592, 593, 594, 596, 597, 598, 609, 610, 611, 612, 613, 614, 615, 620, 625, 626, 627, 628, 629, 630, 631, 646, 647, 648, 649, 650, 654, 655, 656, 664, 665, 683, 687, 688, 689, 690, 693, 698, 699, 700, 701, 702, 703, 712, 713, 714, 731, 732, 733, 734, 735, 752, 753, 754, 755, 756, 765, 766, 768, 769, 770, 782, 783, 784, 785, 786, 787, 789, 790, 791, 792, 793, 794, 795, 796, 797, 799, 800, 801, 802, 803, 804, 805, 806, 807, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 824, 829, 835, 836, 837, 838, 839, 840, 855, 856, 857, 858, 859, 863, 864, 865, 866, 869, 870, 871, 872, 873, 874, 875, 883, 884, 894, 895, 911, 912, 913, 914, 916, 917, 934, 935, 936, 937, 939, 940, 941, 943, 944, 945, 957, 958, 959, 960, 963, 964, 965, 966, 967, 968, 970, 986, 987, 988, 989, 990, 991, 992, 993, 995, 997, 998, 999, 1000, 1001, 1002, 1003, 1005, 1007, 1008, 1009, 1010, 1011, 1017, 1018, 1019, 1020, 1021, 1023, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1054, 1069, 1070, 1071, 1072, 1073, 1077, 1078, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1088, 1096, 1097, 1106, 1107, 1123, 1124, 1125, 1126, 1128, 1129, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1154, 1156, 1157, 1158, 1159, 1160, 1162, 1170, 1171, 1173, 1178, 1185, 1200, 1201, 1202, 1203, 1204, 1208, 1209, 1210, 1211, 1216, 1221, 1229, 1230, 1235, 1236, 1238, 1242, 1243, 1244, 1248], "excluded_lines": [], "functions": {"now_stamp": {"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}, "ensure_dir": {"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": [62, 63], "excluded_lines": [], "start_line": 61}, "make_run_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [67], "excluded_lines": [], "start_line": 66}, "write_text": {"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": [71], "excluded_lines": [], "start_line": 70}, "write_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [75], "excluded_lines": [], "start_line": 74}, "run": {"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": [79, 85, 92], "excluded_lines": [], "start_line": 78}, "requested_surface": {"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": [96], "excluded_lines": [], "start_line": 95}, "blocked_output_from_runtime": {"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": [113, 131, 132], "excluded_lines": [], "start_line": 99}, "parse_json_text": {"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": [136, 137, 138, 139, 140], "excluded_lines": [], "start_line": 135}, "append_unique": {"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": [144, 145], "excluded_lines": [], "start_line": 143}, "extend_unique": {"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": [149, 150], "excluded_lines": [], "start_line": 148}, "normalize_fab_status": {"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": [154, 159], "excluded_lines": [], "start_line": 153}, "resolve_kicad_cli": {"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": [163, 164, 165, 166], "excluded_lines": [], "start_line": 162}, "resolve_freecad_cmd": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [170, 174, 175, 176, 177, 178, 179, 180, 181], "excluded_lines": [], "start_line": 169}, "guess_board_from_source": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "excluded_lines": [], "start_line": 184}, "guess_schematic_from_source": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209], "excluded_lines": [], "start_line": 198}, "guess_freecad_document": {"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": [213, 214, 215, 216, 217, 218, 219, 220], "excluded_lines": [], "start_line": 212}, "latest_native_summary": {"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": [224, 225, 226, 227, 228, 229, 230, 231], "excluded_lines": [], "start_line": 223}, "print_contract_or_fallback": {"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": [235, 236, 238], "excluded_lines": [], "start_line": 234}, "add_registry_arguments": {"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": [242, 243, 244], "excluded_lines": [], "start_line": 241}, "command_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [248, 249, 250, 251, 252, 253, 255, 256, 257, 258, 262, 263, 264, 265, 266, 289, 290, 291, 292, 293], "excluded_lines": [], "start_line": 247}, "command_kicad_erc_drc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 73, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 73, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [297, 298, 299, 300, 303, 304, 305, 306, 307, 308, 316, 317, 325, 326, 343, 344, 345, 346, 348, 349, 350, 371, 372, 373, 374, 375, 377, 378, 379, 381, 382, 383, 398, 399, 400, 401, 402, 403, 405, 406, 407, 422, 423, 424, 425, 426, 427, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 444, 449, 450, 451, 452, 453, 459, 460, 461, 462, 477, 478, 479, 480, 481], "excluded_lines": [], "start_line": 296}, "command_bom_review": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [485, 486, 487, 490, 491, 492, 493, 494, 495, 502, 503, 504, 521, 522, 523, 525, 526, 532, 553, 554, 555, 556, 557, 559, 560, 561, 565, 566, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 582, 592, 593, 594, 596, 597, 598, 609, 610, 611, 612, 613, 614, 615, 620, 625, 626, 627, 628, 629, 630, 631, 646, 647, 648, 649, 650], "excluded_lines": [], "start_line": 484}, "export_freecad_document": {"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": [654, 655, 656, 664, 665, 683], "excluded_lines": [], "start_line": 653}, "command_ecad_mcad_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [687, 688, 689, 690, 693, 698, 699, 700, 701, 702, 703, 712, 713, 714, 731, 732, 733, 734, 735, 752, 753, 754, 755, 756, 765, 766, 768, 769, 770, 782, 783, 784, 785, 786, 787, 789, 790, 791, 792, 793, 794, 795, 796, 797, 799, 800, 801, 802, 803, 804, 805, 806, 807, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 824, 829, 835, 836, 837, 838, 839, 840, 855, 856, 857, 858, 859], "excluded_lines": [], "start_line": 686}, "command_manufacturing_package": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 92, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 92, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [863, 864, 865, 866, 869, 870, 871, 872, 873, 874, 875, 883, 884, 894, 895, 911, 912, 913, 914, 916, 917, 934, 935, 936, 937, 939, 940, 941, 943, 944, 945, 957, 958, 959, 960, 963, 964, 965, 966, 967, 968, 970, 986, 987, 988, 989, 990, 991, 992, 993, 995, 997, 998, 999, 1000, 1001, 1002, 1003, 1005, 1007, 1008, 1009, 1010, 1011, 1017, 1018, 1019, 1020, 1021, 1023, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1054, 1069, 1070, 1071, 1072, 1073], "excluded_lines": [], "start_line": 862}, "command_kiauto_checks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1077, 1078, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1088, 1096, 1097, 1106, 1107, 1123, 1124, 1125, 1126, 1128, 1129, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1154, 1156, 1157, 1158, 1159, 1160, 1162, 1170, 1171, 1173, 1178, 1185, 1200, 1201, 1202, 1203, 1204], "excluded_lines": [], "start_line": 1076}, "build_parser": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1208, 1209, 1210, 1211, 1216, 1221, 1229, 1230, 1235, 1236, 1238], "excluded_lines": [], "start_line": 1207}, "main": {"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": [1242, 1243, 1244], "excluded_lines": [], "start_line": 1241}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 29, 30, 41, 42, 53, 54, 57, 61, 66, 70, 74, 78, 95, 99, 135, 143, 148, 153, 162, 169, 184, 198, 212, 223, 234, 241, 247, 296, 484, 653, 686, 862, 1076, 1207, 1241, 1247], "summary": {"covered_lines": 51, "num_statements": 53, "percent_covered": 96.22641509433963, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.22641509433963, "percent_statements_covered_display": "96"}, "missing_lines": [20, 1248], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 29, 30, 41, 42, 53, 54, 57, 61, 66, 70, 74, 78, 95, 99, 135, 143, 148, 153, 162, 169, 184, 198, 212, 223, 234, 241, 247, 296, 484, 653, 686, 862, 1076, 1207, 1241, 1247], "summary": {"covered_lines": 51, "num_statements": 528, "percent_covered": 9.659090909090908, "percent_covered_display": "10", "missing_lines": 477, "excluded_lines": 0, "percent_statements_covered": 9.659090909090908, "percent_statements_covered_display": "10"}, "missing_lines": [20, 58, 62, 63, 67, 71, 75, 79, 85, 92, 96, 113, 131, 132, 136, 137, 138, 139, 140, 144, 145, 149, 150, 154, 159, 163, 164, 165, 166, 170, 174, 175, 176, 177, 178, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 213, 214, 215, 216, 217, 218, 219, 220, 224, 225, 226, 227, 228, 229, 230, 231, 235, 236, 238, 242, 243, 244, 248, 249, 250, 251, 252, 253, 255, 256, 257, 258, 262, 263, 264, 265, 266, 289, 290, 291, 292, 293, 297, 298, 299, 300, 303, 304, 305, 306, 307, 308, 316, 317, 325, 326, 343, 344, 345, 346, 348, 349, 350, 371, 372, 373, 374, 375, 377, 378, 379, 381, 382, 383, 398, 399, 400, 401, 402, 403, 405, 406, 407, 422, 423, 424, 425, 426, 427, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 444, 449, 450, 451, 452, 453, 459, 460, 461, 462, 477, 478, 479, 480, 481, 485, 486, 487, 490, 491, 492, 493, 494, 495, 502, 503, 504, 521, 522, 523, 525, 526, 532, 553, 554, 555, 556, 557, 559, 560, 561, 565, 566, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 582, 592, 593, 594, 596, 597, 598, 609, 610, 611, 612, 613, 614, 615, 620, 625, 626, 627, 628, 629, 630, 631, 646, 647, 648, 649, 650, 654, 655, 656, 664, 665, 683, 687, 688, 689, 690, 693, 698, 699, 700, 701, 702, 703, 712, 713, 714, 731, 732, 733, 734, 735, 752, 753, 754, 755, 756, 765, 766, 768, 769, 770, 782, 783, 784, 785, 786, 787, 789, 790, 791, 792, 793, 794, 795, 796, 797, 799, 800, 801, 802, 803, 804, 805, 806, 807, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 824, 829, 835, 836, 837, 838, 839, 840, 855, 856, 857, 858, 859, 863, 864, 865, 866, 869, 870, 871, 872, 873, 874, 875, 883, 884, 894, 895, 911, 912, 913, 914, 916, 917, 934, 935, 936, 937, 939, 940, 941, 943, 944, 945, 957, 958, 959, 960, 963, 964, 965, 966, 967, 968, 970, 986, 987, 988, 989, 990, 991, 992, 993, 995, 997, 998, 999, 1000, 1001, 1002, 1003, 1005, 1007, 1008, 1009, 1010, 1011, 1017, 1018, 1019, 1020, 1021, 1023, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1054, 1069, 1070, 1071, 1072, 1073, 1077, 1078, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1088, 1096, 1097, 1106, 1107, 1123, 1124, 1125, 1126, 1128, 1129, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1154, 1156, 1157, 1158, 1159, 1160, 1162, 1170, 1171, 1173, 1178, 1185, 1200, 1201, 1202, 1203, 1204, 1208, 1209, 1210, 1211, 1216, 1221, 1229, 1230, 1235, 1236, 1238, 1242, 1243, 1244, 1248], "excluded_lines": [], "start_line": 1}}}, "tools/ci_runtime.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 24, 30, 31, 32, 33, 34, 37, 41, 46, 53, 59, 68, 76, 92, 96, 100, 104, 118, 137, 141, 172, 205], "summary": {"covered_lines": 37, "num_statements": 124, "percent_covered": 29.838709677419356, "percent_covered_display": "30", "missing_lines": 87, "excluded_lines": 0, "percent_statements_covered": 29.838709677419356, "percent_statements_covered_display": "30"}, "missing_lines": [38, 42, 43, 47, 48, 49, 50, 54, 55, 56, 60, 61, 62, 65, 69, 70, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 89, 93, 97, 101, 105, 106, 107, 108, 110, 111, 113, 114, 115, 119, 120, 121, 123, 124, 125, 127, 128, 130, 131, 132, 134, 138, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 169, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, 187, 202, 206, 207, 208, 215, 216], "excluded_lines": [], "functions": {"now_utc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38], "excluded_lines": [], "start_line": 37}, "write_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [42, 43], "excluded_lines": [], "start_line": 41}, "relative_to_root": {"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": [47, 48, 49, 50], "excluded_lines": [], "start_line": 46}, "ensure_evidence_dir": {"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": [54, 55, 56], "excluded_lines": [], "start_line": 53}, "pio_mode": {"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": [60, 61, 62, 65], "excluded_lines": [], "start_line": 59}, "repo_local_pio_candidates": {"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": [69, 70], "excluded_lines": [], "start_line": 68}, "native_pio_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 89], "excluded_lines": [], "start_line": 76}, "native_pio_available": {"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": [93], "excluded_lines": [], "start_line": 92}, "container_pio_available": {"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": [97], "excluded_lines": [], "start_line": 96}, "firmware_project_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [101], "excluded_lines": [], "start_line": 100}, "resolve_target": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [105, 106, 107, 108, 110, 111, 113, 114, 115], "excluded_lines": [], "start_line": 104}, "platformio_command": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [119, 120, 121, 123, 124, 125, 127, 128, 130, 131, 132, 134], "excluded_lines": [], "start_line": 118}, "resolved_pio_runner": {"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": [138], "excluded_lines": [], "start_line": 137}, "run_logged_command": {"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": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 169], "excluded_lines": [], "start_line": 141}, "run_platformio_step": {"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": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, 187, 202], "excluded_lines": [], "start_line": 172}, "collect_artifacts": {"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": [206, 207, 208, 215, 216], "excluded_lines": [], "start_line": 205}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 24, 30, 31, 32, 33, 34, 37, 41, 46, 53, 59, 68, 76, 92, 96, 100, 104, 118, 137, 141, 172, 205], "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": {"TargetSpec": {"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": 31}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 24, 30, 31, 32, 33, 34, 37, 41, 46, 53, 59, 68, 76, 92, 96, 100, 104, 118, 137, 141, 172, 205], "summary": {"covered_lines": 37, "num_statements": 124, "percent_covered": 29.838709677419356, "percent_covered_display": "30", "missing_lines": 87, "excluded_lines": 0, "percent_statements_covered": 29.838709677419356, "percent_statements_covered_display": "30"}, "missing_lines": [38, 42, 43, 47, 48, 49, 50, 54, 55, 56, 60, 61, 62, 65, 69, 70, 77, 78, 79, 81, 82, 83, 85, 86, 87, 88, 89, 93, 97, 101, 105, 106, 107, 108, 110, 111, 113, 114, 115, 119, 120, 121, 123, 124, 125, 127, 128, 130, 131, 132, 134, 138, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 169, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, 187, 202, 206, 207, 208, 215, 216], "excluded_lines": [], "start_line": 1}}}, "tools/collect_evidence.py": {"executed_lines": [2, 4, 5, 6, 8, 9, 12, 15, 57], "summary": {"covered_lines": 9, "num_statements": 35, "percent_covered": 25.714285714285715, "percent_covered_display": "26", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 25.714285714285715, "percent_statements_covered_display": "26"}, "missing_lines": [10, 16, 17, 18, 19, 20, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 47, 49, 50, 51, 53, 54, 58, 59, 60], "excluded_lines": [], "functions": {"collect_evidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 17, 18, 19, 20, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 47, 49, 50, 51, 53, 54], "excluded_lines": [], "start_line": 15}, "": {"executed_lines": [2, 4, 5, 6, 8, 9, 12, 15, 57], "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": [10, 58, 59, 60], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [2, 4, 5, 6, 8, 9, 12, 15, 57], "summary": {"covered_lines": 9, "num_statements": 35, "percent_covered": 25.714285714285715, "percent_covered_display": "26", "missing_lines": 26, "excluded_lines": 0, "percent_statements_covered": 25.714285714285715, "percent_statements_covered_display": "26"}, "missing_lines": [10, 16, 17, 18, 19, 20, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 47, 49, 50, 51, 53, 54, 58, 59, 60], "excluded_lines": [], "start_line": 1}}}, "tools/industrial/bom_analyzer.py": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 39, 92, 93, 94, 97, 105, 109, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 196, 206, 222, 228, 277, 308, 343, 459, 478, 683, 701, 715, 755, 815, 830, 843, 862, 879, 909, 939], "summary": {"covered_lines": 57, "num_statements": 395, "percent_covered": 14.430379746835444, "percent_covered_display": "14", "missing_lines": 338, "excluded_lines": 1, "percent_statements_covered": 14.430379746835444, "percent_statements_covered_display": "14"}, "missing_lines": [198, 199, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 224, 225, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 245, 246, 247, 248, 249, 250, 251, 252, 254, 256, 259, 260, 261, 262, 265, 266, 267, 268, 269, 270, 272, 274, 279, 280, 281, 282, 283, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 298, 299, 371, 372, 374, 375, 376, 377, 383, 385, 386, 387, 388, 389, 391, 392, 393, 396, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 411, 412, 413, 414, 415, 416, 418, 419, 420, 422, 428, 429, 435, 436, 442, 443, 444, 451, 514, 515, 516, 517, 520, 521, 522, 527, 529, 532, 533, 534, 535, 540, 542, 547, 548, 553, 554, 555, 556, 561, 563, 570, 571, 572, 573, 578, 580, 587, 591, 592, 593, 594, 599, 601, 608, 609, 610, 611, 616, 618, 625, 626, 627, 628, 633, 635, 642, 643, 644, 645, 650, 652, 659, 660, 661, 662, 667, 669, 675, 685, 686, 689, 690, 693, 694, 696, 697, 698, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 717, 720, 721, 722, 725, 726, 727, 729, 730, 731, 733, 734, 735, 736, 737, 739, 740, 741, 742, 743, 746, 747, 748, 757, 758, 759, 760, 761, 762, 764, 765, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 787, 788, 789, 790, 791, 792, 793, 799, 800, 801, 802, 803, 804, 805, 806, 807, 809, 811, 812, 817, 819, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 839, 840, 845, 846, 847, 848, 850, 851, 853, 854, 855, 857, 858, 859, 864, 865, 866, 867, 869, 871, 872, 873, 874, 876, 881, 882, 883, 884, 886, 887, 888, 889, 891, 892, 893, 894, 895, 896, 897, 898, 900, 901, 902, 903, 904, 906, 910, 913, 915, 916, 917, 918, 920, 921, 922, 923, 925, 926, 927, 928, 930, 931, 932, 933, 935, 936, 940], "excluded_lines": [479], "functions": {"BomLine.fingerprint": {"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": [198, 199], "excluded_lines": [], "start_line": 196}, "detect_delimiter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219], "excluded_lines": [], "start_line": 206}, "normalize_column_name": {"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": [224, 225], "excluded_lines": [], "start_line": 222}, "parse_bom": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 245, 246, 247, 248, 249, 250, 251, 252, 254, 256, 259, 260, 261, 262, 265, 266, 267, 268, 269, 270, 272, 274], "excluded_lines": [], "start_line": 228}, "deduplicate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [279, 280, 281, 282, 283, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 298, 299], "excluded_lines": [], "start_line": 277}, "fetch_lcsc_prices": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [371, 372, 374, 375, 376, 377, 383, 385, 386, 387, 388, 389, 391, 392, 393, 396, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 411, 412, 413, 414, 415, 416, 418, 419, 420, 422, 428, 429, 435, 436, 442, 443, 444, 451], "excluded_lines": [], "start_line": 343}, "dfm_check_api": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 61, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 61, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [514, 515, 516, 517, 520, 521, 522, 527, 529, 532, 533, 534, 535, 540, 542, 547, 548, 553, 554, 555, 556, 561, 563, 570, 571, 572, 573, 578, 580, 587, 591, 592, 593, 594, 599, 601, 608, 609, 610, 611, 616, 618, 625, 626, 627, 628, 633, 635, 642, 643, 644, 645, 650, 652, 659, 660, 661, 662, 667, 669, 675], "excluded_lines": [479], "start_line": 478}, "normalize_value_for_lookup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [685, 686, 689, 690, 693, 694, 696, 697, 698], "excluded_lines": [], "start_line": 683}, "classify_assembly": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [703, 704, 705, 706, 707, 708, 709, 710, 711, 712], "excluded_lines": [], "start_line": 701}, "suggest_alternatives": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [717, 720, 721, 722, 725, 726, 727, 729, 730, 731, 733, 734, 735, 736, 737, 739, 740, 741, 742, 743, 746, 747, 748], "excluded_lines": [], "start_line": 715}, "generate_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [757, 758, 759, 760, 761, 762, 764, 765, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 787, 788, 789, 790, 791, 792, 793, 799, 800, 801, 802, 803, 804, 805, 806, 807, 809, 811, 812], "excluded_lines": [], "start_line": 755}, "write_csv": {"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": [817, 819, 820, 821, 822, 823], "excluded_lines": [], "start_line": 815}, "cmd_parse": {"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": [832, 833, 834, 835, 836, 837, 839, 840], "excluded_lines": [], "start_line": 830}, "cmd_suggest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [845, 846, 847, 848, 850, 851, 853, 854, 855, 857, 858, 859], "excluded_lines": [], "start_line": 843}, "cmd_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [864, 865, 866, 867, 869, 871, 872, 873, 874, 876], "excluded_lines": [], "start_line": 862}, "cmd_batch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [881, 882, 883, 884, 886, 887, 888, 889, 891, 892, 893, 894, 895, 896, 897, 898, 900, 901, 902, 903, 904, 906], "excluded_lines": [], "start_line": 879}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [910, 913, 915, 916, 917, 918, 920, 921, 922, 923, 925, 926, 927, 928, 930, 931, 932, 933, 935, 936], "excluded_lines": [], "start_line": 909}, "": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 39, 92, 93, 94, 97, 105, 109, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 196, 206, 222, 228, 277, 308, 343, 459, 478, 683, 701, 715, 755, 815, 830, 843, 862, 879, 909, 939], "summary": {"covered_lines": 57, "num_statements": 58, "percent_covered": 98.27586206896552, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.27586206896552, "percent_statements_covered_display": "98"}, "missing_lines": [940], "excluded_lines": [], "start_line": 1}}, "classes": {"BomLine": {"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": [198, 199], "excluded_lines": [], "start_line": 179}, "": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 39, 92, 93, 94, 97, 105, 109, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 196, 206, 222, 228, 277, 308, 343, 459, 478, 683, 701, 715, 755, 815, 830, 843, 862, 879, 909, 939], "summary": {"covered_lines": 57, "num_statements": 393, "percent_covered": 14.50381679389313, "percent_covered_display": "15", "missing_lines": 336, "excluded_lines": 1, "percent_statements_covered": 14.50381679389313, "percent_statements_covered_display": "15"}, "missing_lines": [208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 224, 225, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 245, 246, 247, 248, 249, 250, 251, 252, 254, 256, 259, 260, 261, 262, 265, 266, 267, 268, 269, 270, 272, 274, 279, 280, 281, 282, 283, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 296, 298, 299, 371, 372, 374, 375, 376, 377, 383, 385, 386, 387, 388, 389, 391, 392, 393, 396, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 411, 412, 413, 414, 415, 416, 418, 419, 420, 422, 428, 429, 435, 436, 442, 443, 444, 451, 514, 515, 516, 517, 520, 521, 522, 527, 529, 532, 533, 534, 535, 540, 542, 547, 548, 553, 554, 555, 556, 561, 563, 570, 571, 572, 573, 578, 580, 587, 591, 592, 593, 594, 599, 601, 608, 609, 610, 611, 616, 618, 625, 626, 627, 628, 633, 635, 642, 643, 644, 645, 650, 652, 659, 660, 661, 662, 667, 669, 675, 685, 686, 689, 690, 693, 694, 696, 697, 698, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 717, 720, 721, 722, 725, 726, 727, 729, 730, 731, 733, 734, 735, 736, 737, 739, 740, 741, 742, 743, 746, 747, 748, 757, 758, 759, 760, 761, 762, 764, 765, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 787, 788, 789, 790, 791, 792, 793, 799, 800, 801, 802, 803, 804, 805, 806, 807, 809, 811, 812, 817, 819, 820, 821, 822, 823, 832, 833, 834, 835, 836, 837, 839, 840, 845, 846, 847, 848, 850, 851, 853, 854, 855, 857, 858, 859, 864, 865, 866, 867, 869, 871, 872, 873, 874, 876, 881, 882, 883, 884, 886, 887, 888, 889, 891, 892, 893, 894, 895, 896, 897, 898, 900, 901, 902, 903, 904, 906, 910, 913, 915, 916, 917, 918, 920, 921, 922, 923, 925, 926, 927, 928, 930, 931, 932, 933, 935, 936, 940], "excluded_lines": [479], "start_line": 1}}}, "tools/industrial/test_mqtt_local.py": {"executed_lines": [20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34], "summary": {"covered_lines": 13, "num_statements": 175, "percent_covered": 7.428571428571429, "percent_covered_display": "7", "missing_lines": 162, "excluded_lines": 0, "percent_statements_covered": 7.428571428571429, "percent_statements_covered_display": "7"}, "missing_lines": [41, 47, 48, 51, 53, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 95, 96, 97, 98, 99, 101, 102, 103, 105, 106, 107, 108, 109, 110, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 125, 128, 129, 130, 132, 133, 134, 135, 142, 143, 144, 146, 149, 151, 152, 153, 154, 156, 160, 161, 162, 169, 170, 171, 172, 175, 176, 177, 178, 179, 180, 181, 182, 184, 187, 188, 190, 191, 192, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207, 209, 210, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 233, 234, 235, 237, 238, 240, 241, 242, 243, 244, 245, 247, 248, 249, 250, 251, 253, 254, 255, 256, 258, 266, 267, 268, 269, 271, 273, 274, 275, 277, 278, 279, 281, 282, 283, 285, 286, 287, 288, 291, 292], "excluded_lines": [], "functions": {"report": {"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": [53, 54, 55, 57, 58], "excluded_lines": [], "start_line": 51}, "parse_broker": {"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": [62, 63, 64, 65, 66, 67, 68], "excluded_lines": [], "start_line": 61}, "test_connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "excluded_lines": [], "start_line": 75}, "test_pub_sub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [96, 97, 98, 99, 101, 105, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 125, 128, 129, 130, 132, 133, 134, 135, 142, 143, 144, 146, 149, 151, 152, 153, 154, 156, 160, 161, 162], "excluded_lines": [], "start_line": 95}, "test_pub_sub.on_connect": {"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": [102, 103], "excluded_lines": [], "start_line": 101}, "test_pub_sub.on_message": {"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": [106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 105}, "test_retained": {"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": [170, 171, 172, 175, 176, 177, 178, 179, 180, 181, 182, 184, 187, 188, 190, 194, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207, 209, 210, 213, 214, 215, 216, 217, 218], "excluded_lines": [], "start_line": 169}, "test_retained.on_connect": {"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": [191, 192], "excluded_lines": [], "start_line": 190}, "test_retained.on_message": {"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": [195], "excluded_lines": [], "start_line": 194}, "test_qos": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [226, 227, 228, 229, 230, 231, 233, 237, 240, 241, 242, 243, 244, 245, 247, 248, 249, 250, 251, 253, 254, 255, 256, 258], "excluded_lines": [], "start_line": 225}, "test_qos.on_connect": {"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": [234, 235], "excluded_lines": [], "start_line": 233}, "test_qos.on_message": {"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": [238], "excluded_lines": [], "start_line": 237}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [267, 268, 269, 271, 273, 274, 275, 277, 278, 279, 281, 282, 283, 285, 286, 287, 288], "excluded_lines": [], "start_line": 266}, "": {"executed_lines": [20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34], "summary": {"covered_lines": 13, "num_statements": 25, "percent_covered": 52.0, "percent_covered_display": "52", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 52.0, "percent_statements_covered_display": "52"}, "missing_lines": [41, 47, 48, 51, 61, 75, 95, 169, 225, 266, 291, 292], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34], "summary": {"covered_lines": 13, "num_statements": 175, "percent_covered": 7.428571428571429, "percent_covered_display": "7", "missing_lines": 162, "excluded_lines": 0, "percent_statements_covered": 7.428571428571429, "percent_statements_covered_display": "7"}, "missing_lines": [41, 47, 48, 51, 53, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 95, 96, 97, 98, 99, 101, 102, 103, 105, 106, 107, 108, 109, 110, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 125, 128, 129, 130, 132, 133, 134, 135, 142, 143, 144, 146, 149, 151, 152, 153, 154, 156, 160, 161, 162, 169, 170, 171, 172, 175, 176, 177, 178, 179, 180, 181, 182, 184, 187, 188, 190, 191, 192, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 207, 209, 210, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 233, 234, 235, 237, 238, 240, 241, 242, 243, 244, 245, 247, 248, 249, 250, 251, 253, 254, 255, 256, 258, 266, 267, 268, 269, 271, 273, 274, 275, 277, 278, 279, 281, 282, 283, 285, 286, 287, 288, 291, 292], "excluded_lines": [], "start_line": 1}}}, "tools/mcp_runtime_status.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 13, 14, 18, 19, 20, 22, 103, 116, 144, 164, 227, 238, 251, 270], "summary": {"covered_lines": 21, "num_statements": 115, "percent_covered": 18.26086956521739, "percent_covered_display": "18", "missing_lines": 94, "excluded_lines": 2, "percent_statements_covered": 18.26086956521739, "percent_statements_covered_display": "18"}, "missing_lines": [104, 105, 106, 107, 113, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 145, 146, 147, 148, 149, 150, 151, 152, 153, 161, 165, 166, 167, 173, 174, 183, 184, 185, 186, 187, 188, 193, 195, 196, 197, 198, 199, 200, 206, 207, 208, 209, 210, 211, 212, 216, 217, 218, 219, 220, 221, 222, 223, 224, 228, 229, 231, 232, 233, 235, 239, 240, 242, 243, 244, 245, 246, 247, 248, 252, 253, 254, 255, 267, 271], "excluded_lines": [15, 16], "functions": {"parse_args": {"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": [104, 105, 106, 107, 113], "excluded_lines": [], "start_line": 103}, "classify_overall": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141], "excluded_lines": [], "start_line": 116}, "derive_blockers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [145, 146, 147, 148, 149, 150, 151, 152, 153, 161], "excluded_lines": [], "start_line": 144}, "run_check": {"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": [165, 166, 167, 173, 174, 183, 184, 185, 186, 187, 188, 193, 195, 196, 197, 198, 199, 200, 206, 207, 208, 209, 210, 211, 212, 216, 217, 218, 219, 220, 221, 222, 223, 224], "excluded_lines": [], "start_line": 164}, "run_all_checks": {"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": [228, 229, 231, 235], "excluded_lines": [], "start_line": 227}, "run_all_checks._guarded": {"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": [232, 233], "excluded_lines": [], "start_line": 231}, "emit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [239, 240, 242, 243, 244, 245, 246, 247, 248], "excluded_lines": [], "start_line": 238}, "main": {"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": [252, 253, 254, 255, 267], "excluded_lines": [], "start_line": 251}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 13, 14, 18, 19, 20, 22, 103, 116, 144, 164, 227, 238, 251, 270], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 2, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95"}, "missing_lines": [271], "excluded_lines": [15, 16], "start_line": 1}}, "classes": {"": {"executed_lines": [4, 6, 7, 8, 9, 10, 11, 13, 14, 18, 19, 20, 22, 103, 116, 144, 164, 227, 238, 251, 270], "summary": {"covered_lines": 21, "num_statements": 115, "percent_covered": 18.26086956521739, "percent_covered_display": "18", "missing_lines": 94, "excluded_lines": 2, "percent_statements_covered": 18.26086956521739, "percent_statements_covered_display": "18"}, "missing_lines": [104, 105, 106, 107, 113, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 145, 146, 147, 148, 149, 150, 151, 152, 153, 161, 165, 166, 167, 173, 174, 183, 184, 185, 186, 187, 188, 193, 195, 196, 197, 198, 199, 200, 206, 207, 208, 209, 210, 211, 212, 216, 217, 218, 219, 220, 221, 222, 223, 224, 228, 229, 231, 232, 233, 235, 239, 240, 242, 243, 244, 245, 246, 247, 248, 252, 253, 254, 255, 267, 271], "excluded_lines": [15, 16], "start_line": 1}}}, "tools/mcp_smoke_common.py": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 24, 25, 27, 33, 34, 35, 38, 39, 40, 43, 46, 49, 53, 65, 71, 92, 105, 147, 155, 178, 199, 227, 236, 248, 267], "summary": {"covered_lines": 42, "num_statements": 176, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 134, "excluded_lines": 0, "percent_statements_covered": 23.863636363636363, "percent_statements_covered_display": "24"}, "missing_lines": [22, 36, 41, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 93, 106, 107, 108, 109, 110, 111, 112, 113, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 148, 149, 150, 151, 152, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 173, 174, 175, 179, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 193, 194, 195, 196, 200, 213, 214, 215, 216, 220, 224, 228, 229, 230, 231, 232, 233, 237, 241, 242, 243, 244, 245, 255, 264, 268, 269, 270, 271, 272, 280, 287], "excluded_lines": [], "functions": {"resolve_default_mascarade_dir": {"executed_lines": [19, 20, 21, 24, 25, 27, 33, 34, 35, 38, 39, 40, 43], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 81.25, "percent_statements_covered_display": "81"}, "missing_lines": [22, 36, 41], "excluded_lines": [], "start_line": 18}, "_decode_env_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [54, 55, 56, 57, 58, 59, 60, 61, 62], "excluded_lines": [], "start_line": 53}, "resolve_mascarade_env_file": {"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": [66], "excluded_lines": [], "start_line": 65}, "load_runtime_env": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": [], "start_line": 71}, "spawn_server": {"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": [93], "excluded_lines": [], "start_line": 92}, "terminate_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [106, 107, 108, 109, 110, 111, 112, 113, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "excluded_lines": [], "start_line": 105}, "send_message": {"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": [148, 149, 150, 151, 152], "excluded_lines": [], "start_line": 147}, "_read_message_blocking": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 173, 174, 175], "excluded_lines": [], "start_line": 155}, "read_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [179, 181, 187, 188, 189, 190, 191, 193, 194, 195, 196], "excluded_lines": [], "start_line": 178}, "read_message._worker": {"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": [182, 183, 184, 185], "excluded_lines": [], "start_line": 181}, "initialize": {"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": [200, 213, 214, 215, 216, 220, 224], "excluded_lines": [], "start_line": 199}, "expect_result": {"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": [228, 229, 230, 231, 232, 233], "excluded_lines": [], "start_line": 227}, "list_tools": {"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": [237, 241, 242, 243, 244, 245], "excluded_lines": [], "start_line": 236}, "call_tool": {"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": [255, 264], "excluded_lines": [], "start_line": 248}, "emit_payload": {"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": [268, 269, 270, 271, 272, 280, 287], "excluded_lines": [], "start_line": 267}, "": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 46, 49, 53, 65, 71, 92, 105, 147, 155, 178, 199, 227, 236, 248, 267], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_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": {"SmokeError": {"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": 49}, "": {"executed_lines": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 24, 25, 27, 33, 34, 35, 38, 39, 40, 43, 46, 49, 53, 65, 71, 92, 105, 147, 155, 178, 199, 227, 236, 248, 267], "summary": {"covered_lines": 42, "num_statements": 176, "percent_covered": 23.863636363636363, "percent_covered_display": "24", "missing_lines": 134, "excluded_lines": 0, "percent_statements_covered": 23.863636363636363, "percent_statements_covered_display": "24"}, "missing_lines": [22, 36, 41, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 93, 106, 107, 108, 109, 110, 111, 112, 113, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 148, 149, 150, 151, 152, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 173, 174, 175, 179, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 193, 194, 195, 196, 200, 213, 214, 215, 216, 220, 224, 228, 229, 230, 231, 232, 233, 237, 241, 242, 243, 244, 245, 255, 264, 268, 269, 270, 271, 272, 280, 287], "excluded_lines": [], "start_line": 1}}}, "tools/specs/validate_agent_catalog.py": {"executed_lines": [4, 6, 7, 8, 9, 10, 13, 14, 15, 21, 22, 30, 34, 39, 54, 70, 83, 195, 217], "summary": {"covered_lines": 19, "num_statements": 135, "percent_covered": 14.074074074074074, "percent_covered_display": "14", "missing_lines": 116, "excluded_lines": 0, "percent_statements_covered": 14.074074074074074, "percent_statements_covered_display": "14"}, "missing_lines": [31, 35, 36, 40, 41, 42, 43, 44, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 77, 78, 79, 80, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 97, 98, 99, 101, 104, 105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 118, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 151, 152, 154, 155, 156, 157, 158, 159, 160, 162, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177, 196, 197, 198, 200, 201, 202, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 218], "excluded_lines": [], "functions": {"_load_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31], "excluded_lines": [], "start_line": 30}, "_expected_slug": {"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": [35, 36], "excluded_lines": [], "start_line": 34}, "_legacy_doc_patterns": {"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": [40, 41, 42, 43, 44], "excluded_lines": [], "start_line": 39}, "_collect_owner_agent_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 54}, "_collect_owner_agent_text": {"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": [71, 72, 73, 77, 78, 79, 80], "excluded_lines": [], "start_line": 70}, "validate_agent_catalog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 70, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 70, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 97, 98, 99, 101, 104, 105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 118, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 151, 152, 154, 155, 156, 157, 158, 159, 160, 162, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177], "excluded_lines": [], "start_line": 83}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [196, 197, 198, 200, 201, 202, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214], "excluded_lines": [], "start_line": 195}, "": {"executed_lines": [4, 6, 7, 8, 9, 10, 13, 14, 15, 21, 22, 30, 34, 39, 54, 70, 83, 195, 217], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 95.0, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95"}, "missing_lines": [218], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [4, 6, 7, 8, 9, 10, 13, 14, 15, 21, 22, 30, 34, 39, 54, 70, 83, 195, 217], "summary": {"covered_lines": 19, "num_statements": 135, "percent_covered": 14.074074074074074, "percent_covered_display": "14", "missing_lines": 116, "excluded_lines": 0, "percent_statements_covered": 14.074074074074074, "percent_statements_covered_display": "14"}, "missing_lines": [31, 35, 36, 40, 41, 42, 43, 44, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73, 77, 78, 79, 80, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 97, 98, 99, 101, 104, 105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 118, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 151, 152, 154, 155, 156, 157, 158, 159, 160, 162, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177, 196, 197, 198, 200, 201, 202, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 218], "excluded_lines": [], "start_line": 1}}}}, "totals": {"covered_lines": 1058, "num_statements": 4832, "percent_covered": 21.89569536423841, "percent_covered_display": "22", "missing_lines": 3774, "excluded_lines": 5, "percent_statements_covered": 21.89569536423841, "percent_statements_covered_display": "22"}} \ No newline at end of file diff --git a/docs/rfc2119-summary.json b/docs/rfc2119-summary.json new file mode 100644 index 0000000..14f6378 --- /dev/null +++ b/docs/rfc2119-summary.json @@ -0,0 +1,187 @@ +{ + "schemaVersion": 1, + "label": "Conformit\u00e9 RFC2119", + "counts": { + "MUST": 50, + "SHOULD": 15, + "MAY": 3 + }, + "forbidden": [ + "must", + "must" + ], + "timestamp": "2026-04-08T07:42:53.202104Z", + "files": { + "specs/00_intake.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/01_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/02_arch.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/03_plan.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/04_tasks.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/AGENTS.md": { + "MUST": 3, + "SHOULD": 2, + "MAY": 2, + "forbidden": [ + "must", + "must" + ] + }, + "specs/README.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/README_FR.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/agentic_intelligence_integration_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/cad_modeling_tasks.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/ci_cd_spec.md": { + "MUST": 8, + "SHOULD": 3, + "MAY": 0, + "forbidden": [] + }, + "specs/github_mcp_conversion_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/kicad_mcp_scope_spec.md": { + "MUST": 31, + "SHOULD": 10, + "MAY": 1, + "forbidden": [] + }, + "specs/knowledge_base_mcp_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/mcp_agentics_target_backlog.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/mcp_tasks.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/mesh_contracts.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_2026_stack_target_spec.md": { + "MUST": 2, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_90_day_delivery_plan.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_adr_20260329_sot.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_backend_architecture_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_git_eda_platform_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_global_refonte_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_plugin_workbench_ci_plan.md": { + "MUST": 6, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_tux004_orchestration_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/yiacad_uiux_apple_native_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/zeroclaw_dual_hw_orchestration_spec.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + }, + "specs/zeroclaw_dual_hw_todo.md": { + "MUST": 0, + "SHOULD": 0, + "MAY": 0, + "forbidden": [] + } + } +} \ No newline at end of file