{
  "meta": {
    "format": 3,
    "version": "7.13.3",
    "timestamp": "2026-02-04T11:35:08.447905",
    "branch_coverage": false,
    "show_contexts": false
  },
  "files": {
    "src/__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
        }
      }
    },
    "src/agent_assignment.py": {
      "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": [
        10, 12, 15, 18, 25, 30, 31, 34, 46, 47, 55, 56, 61, 64, 77, 78, 81, 91, 94, 107, 109, 111,
        113, 115, 118, 131, 134, 158, 159, 164, 167, 170, 171, 174, 175, 177
      ],
      "excluded_lines": [],
      "functions": {
        "NoCapableAgentError.__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": [25, 30, 31],
          "excluded_lines": [],
          "start_line": 18
        },
        "_map_difficulty_to_capability": {
          "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": [46, 47, 55, 56, 61],
          "excluded_lines": [],
          "start_line": 34
        },
        "_can_handle_context": {
          "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": [77, 78],
          "excluded_lines": [],
          "start_line": 64
        },
        "_can_handle_difficulty": {
          "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": [91],
          "excluded_lines": [],
          "start_line": 81
        },
        "_filter_qualified_agents": {
          "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": [107, 109, 111, 113, 115],
          "excluded_lines": [],
          "start_line": 94
        },
        "_sort_by_cost": {
          "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": [131],
          "excluded_lines": [],
          "start_line": 118
        },
        "assign_agent": {
          "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": [158, 159, 164, 167, 170, 171, 174, 175, 177],
          "excluded_lines": [],
          "start_line": 134
        },
        "": {
          "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": [10, 12, 15, 18, 34, 64, 81, 94, 118, 134],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "NoCapableAgentError": {
          "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": [25, 30, 31],
          "excluded_lines": [],
          "start_line": 15
        },
        "": {
          "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": [
            10, 12, 15, 18, 34, 46, 47, 55, 56, 61, 64, 77, 78, 81, 91, 94, 107, 109, 111, 113, 115,
            118, 131, 134, 158, 159, 164, 167, 170, 171, 174, 175, 177
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/config.py": {
      "executed_lines": [],
      "summary": {
        "covered_lines": 0,
        "num_statements": 15,
        "percent_covered": 0.0,
        "percent_covered_display": "0",
        "missing_lines": 15,
        "excluded_lines": 0,
        "percent_statements_covered": 0.0,
        "percent_statements_covered_display": "0"
      },
      "missing_lines": [3, 6, 9, 17, 18, 21, 24, 25, 28, 31, 32, 33, 36, 38, 42],
      "excluded_lines": [],
      "functions": {
        "get_settings": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [38],
          "excluded_lines": [],
          "start_line": 36
        },
        "": {
          "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": [3, 6, 9, 17, 18, 21, 24, 25, 28, 31, 32, 33, 36, 42],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "Settings": {
          "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": 6
        },
        "": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 15,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 15,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [3, 6, 9, 17, 18, 21, 24, 25, 28, 31, 32, 33, 36, 38, 42],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/context_compaction.py": {
      "executed_lines": [],
      "summary": {
        "covered_lines": 0,
        "num_statements": 62,
        "percent_covered": 0.0,
        "percent_covered_display": "0",
        "missing_lines": 62,
        "excluded_lines": 0,
        "percent_statements_covered": 0.0,
        "percent_statements_covered_display": "0"
      },
      "missing_lines": [
        11, 12, 13, 15, 18, 19, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 54, 55, 69, 70, 71,
        72, 73, 74, 75, 76, 78, 80, 81, 89, 97, 107, 113, 115, 127, 129, 130, 132, 133, 135, 144,
        146, 148, 149, 150, 151, 153, 159, 162, 165, 166, 167, 168, 171, 172, 176, 182, 193, 194,
        195
      ],
      "excluded_lines": [],
      "functions": {
        "CompactionResult.__repr__": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 2,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 2,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [46, 47],
          "excluded_lines": [],
          "start_line": 44
        },
        "SessionRotation.__repr__": {
          "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": [80, 81],
          "excluded_lines": [],
          "start_line": 78
        },
        "ContextCompactor.__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": [113],
          "excluded_lines": [],
          "start_line": 107
        },
        "ContextCompactor.request_summary": {
          "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": [127, 129, 130, 132, 133],
          "excluded_lines": [],
          "start_line": 115
        },
        "ContextCompactor.compact": {
          "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": [
            144, 146, 148, 149, 150, 151, 153, 159, 162, 165, 166, 167, 168, 171, 172, 176, 182,
            193, 194, 195
          ],
          "excluded_lines": [],
          "start_line": 135
        },
        "": {
          "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": [
            11, 12, 13, 15, 18, 19, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 69, 70, 71, 72,
            73, 74, 75, 76, 78, 89, 97, 107, 115, 135
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "CompactionResult": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 2,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 2,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [46, 47],
          "excluded_lines": [],
          "start_line": 19
        },
        "SessionRotation": {
          "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": [80, 81],
          "excluded_lines": [],
          "start_line": 55
        },
        "ContextCompactor": {
          "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": [
            113, 127, 129, 130, 132, 133, 144, 146, 148, 149, 150, 151, 153, 159, 162, 165, 166,
            167, 168, 171, 172, 176, 182, 193, 194, 195
          ],
          "excluded_lines": [],
          "start_line": 89
        },
        "": {
          "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": [
            11, 12, 13, 15, 18, 19, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 54, 55, 69, 70, 71, 72,
            73, 74, 75, 76, 78, 89, 97, 107, 115, 135
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/context_monitor.py": {
      "executed_lines": [],
      "summary": {
        "covered_lines": 0,
        "num_statements": 75,
        "percent_covered": 0.0,
        "percent_covered_display": "0",
        "missing_lines": 75,
        "excluded_lines": 0,
        "percent_statements_covered": 0.0,
        "percent_statements_covered_display": "0"
      },
      "missing_lines": [
        3, 4, 5, 6, 7, 9, 10, 12, 15, 24, 25, 27, 34, 35, 36, 37, 38, 40, 52, 53, 60, 61, 63, 65,
        74, 76, 77, 80, 81, 82, 85, 87, 88, 90, 99, 101, 113, 114, 118, 119, 120, 121, 122, 123,
        127, 128, 129, 130, 132, 134, 140, 141, 143, 155, 156, 158, 159, 164, 166, 168, 193, 198,
        200, 201, 202, 204, 210, 211, 214, 218, 220, 225, 235, 236, 237
      ],
      "excluded_lines": [],
      "functions": {
        "ContextMonitor.__init__": {
          "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": [34, 35, 36, 37, 38],
          "excluded_lines": [],
          "start_line": 27
        },
        "ContextMonitor.get_context_usage": {
          "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": [52, 53, 60, 61, 63],
          "excluded_lines": [],
          "start_line": 40
        },
        "ContextMonitor.determine_action": {
          "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": [74, 76, 77, 80, 81, 82, 85, 87, 88],
          "excluded_lines": [],
          "start_line": 65
        },
        "ContextMonitor.get_usage_history": {
          "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": [99],
          "excluded_lines": [],
          "start_line": 90
        },
        "ContextMonitor.start_monitoring": {
          "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": [113, 114, 118, 119, 120, 121, 122, 123, 127, 128, 129, 130, 132],
          "excluded_lines": [],
          "start_line": 101
        },
        "ContextMonitor.stop_monitoring": {
          "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": [140, 141],
          "excluded_lines": [],
          "start_line": 134
        },
        "ContextMonitor.trigger_compaction": {
          "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": [155, 156, 158, 159, 164, 166],
          "excluded_lines": [],
          "start_line": 143
        },
        "ContextMonitor.trigger_rotation": {
          "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": [
            193, 198, 200, 201, 202, 204, 210, 211, 214, 218, 220, 225, 235, 236, 237
          ],
          "excluded_lines": [],
          "start_line": 168
        },
        "": {
          "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": [
            3, 4, 5, 6, 7, 9, 10, 12, 15, 24, 25, 27, 40, 65, 90, 101, 134, 143, 168
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "ContextMonitor": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 56,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 56,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            34, 35, 36, 37, 38, 52, 53, 60, 61, 63, 74, 76, 77, 80, 81, 82, 85, 87, 88, 99, 113,
            114, 118, 119, 120, 121, 122, 123, 127, 128, 129, 130, 132, 140, 141, 155, 156, 158,
            159, 164, 166, 193, 198, 200, 201, 202, 204, 210, 211, 214, 218, 220, 225, 235, 236, 237
          ],
          "excluded_lines": [],
          "start_line": 15
        },
        "": {
          "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": [
            3, 4, 5, 6, 7, 9, 10, 12, 15, 24, 25, 27, 40, 65, 90, 101, 134, 143, 168
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/coordinator.py": {
      "executed_lines": [],
      "summary": {
        "covered_lines": 0,
        "num_statements": 183,
        "percent_covered": 0.0,
        "percent_covered_display": "0",
        "missing_lines": 183,
        "excluded_lines": 2,
        "percent_statements_covered": 0.0,
        "percent_statements_covered_display": "0"
      },
      "missing_lines": [
        3, 4, 5, 7, 8, 9, 10, 11, 16, 19, 30, 41, 42, 43, 44, 45, 47, 48, 54, 56, 57, 63, 65, 71,
        73, 78, 79, 80, 82, 83, 84, 85, 86, 87, 91, 92, 97, 98, 100, 103, 104, 106, 112, 113, 114,
        115, 117, 127, 129, 130, 131, 133, 140, 143, 144, 146, 148, 149, 151, 153, 154, 157, 159,
        171, 178, 186, 188, 191, 202, 219, 220, 221, 222, 223, 224, 225, 226, 229, 230, 231, 233,
        234, 240, 242, 243, 249, 251, 252, 258, 260, 261, 267, 269, 270, 276, 278, 284, 286, 291,
        292, 293, 295, 296, 297, 298, 299, 300, 304, 305, 310, 311, 313, 316, 317, 319, 325, 326,
        327, 328, 330, 344, 346, 347, 348, 350, 358, 359, 362, 363, 370, 372, 374, 375, 376, 379,
        382, 384, 386, 387, 388, 393, 394, 396, 397, 400, 402, 414, 421, 423, 425, 434, 435, 437,
        438, 439, 440, 442, 443, 444, 445, 447, 456, 458, 459, 461, 462, 464, 467, 471, 473, 474,
        476, 477, 488, 497, 499, 500, 501, 507, 508, 509, 511, 512
      ],
      "excluded_lines": [13, 14],
      "functions": {
        "Coordinator.__init__": {
          "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": [41, 42, 43, 44, 45],
          "excluded_lines": [],
          "start_line": 30
        },
        "Coordinator.is_running": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [54],
          "excluded_lines": [],
          "start_line": 48
        },
        "Coordinator.active_agents": {
          "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": [63],
          "excluded_lines": [],
          "start_line": 57
        },
        "Coordinator.get_active_agent_count": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [71],
          "excluded_lines": [],
          "start_line": 65
        },
        "Coordinator.start": {
          "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": [78, 79, 80, 82, 83, 84, 85, 86, 87, 91, 92, 97, 98, 100, 103, 104],
          "excluded_lines": [],
          "start_line": 73
        },
        "Coordinator.stop": {
          "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": [112, 113, 114, 115],
          "excluded_lines": [],
          "start_line": 106
        },
        "Coordinator.process_queue": {
          "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": [
            127, 129, 130, 131, 133, 140, 143, 144, 146, 148, 149, 151, 153, 154, 157
          ],
          "excluded_lines": [],
          "start_line": 117
        },
        "Coordinator.spawn_agent": {
          "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": [171, 178, 186, 188],
          "excluded_lines": [],
          "start_line": 159
        },
        "OrchestrationLoop.__init__": {
          "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": [219, 220, 221, 222, 223, 224, 225, 226, 229, 230, 231],
          "excluded_lines": [],
          "start_line": 202
        },
        "OrchestrationLoop.is_running": {
          "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": [240],
          "excluded_lines": [],
          "start_line": 234
        },
        "OrchestrationLoop.active_agents": {
          "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": [249],
          "excluded_lines": [],
          "start_line": 243
        },
        "OrchestrationLoop.processed_count": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [258],
          "excluded_lines": [],
          "start_line": 252
        },
        "OrchestrationLoop.success_count": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [267],
          "excluded_lines": [],
          "start_line": 261
        },
        "OrchestrationLoop.rejection_count": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [276],
          "excluded_lines": [],
          "start_line": 270
        },
        "OrchestrationLoop.get_active_agent_count": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [284],
          "excluded_lines": [],
          "start_line": 278
        },
        "OrchestrationLoop.start": {
          "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": [
            291, 292, 293, 295, 296, 297, 298, 299, 300, 304, 305, 310, 311, 313, 316, 317
          ],
          "excluded_lines": [],
          "start_line": 286
        },
        "OrchestrationLoop.stop": {
          "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": [325, 326, 327, 328],
          "excluded_lines": [],
          "start_line": 319
        },
        "OrchestrationLoop.process_next_issue": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 25,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 25,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            344, 346, 347, 348, 350, 358, 359, 362, 363, 370, 372, 374, 375, 376, 379, 382, 384,
            386, 387, 388, 393, 394, 396, 397, 400
          ],
          "excluded_lines": [],
          "start_line": 330
        },
        "OrchestrationLoop._spawn_agent": {
          "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": [414, 421, 423],
          "excluded_lines": [],
          "start_line": 402
        },
        "OrchestrationLoop._check_context": {
          "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": [434, 435, 437, 438, 439, 440, 442, 443, 444, 445],
          "excluded_lines": [],
          "start_line": 425
        },
        "OrchestrationLoop._verify_quality": {
          "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": [456, 458, 459, 461, 462, 464, 467, 471, 473, 474, 476, 477],
          "excluded_lines": [],
          "start_line": 447
        },
        "OrchestrationLoop._handle_rejection": {
          "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": [497, 499, 500, 501, 507, 508, 509, 511, 512],
          "excluded_lines": [],
          "start_line": 488
        },
        "": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 40,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 40,
            "excluded_lines": 2,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            3, 4, 5, 7, 8, 9, 10, 11, 16, 19, 30, 47, 48, 56, 57, 65, 73, 106, 117, 159, 191, 202,
            233, 234, 242, 243, 251, 252, 260, 261, 269, 270, 278, 286, 319, 330, 402, 425, 447, 488
          ],
          "excluded_lines": [13, 14],
          "start_line": 1
        }
      },
      "classes": {
        "Coordinator": {
          "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": [
            41, 42, 43, 44, 45, 54, 63, 71, 78, 79, 80, 82, 83, 84, 85, 86, 87, 91, 92, 97, 98, 100,
            103, 104, 112, 113, 114, 115, 127, 129, 130, 131, 133, 140, 143, 144, 146, 148, 149,
            151, 153, 154, 157, 171, 178, 186, 188
          ],
          "excluded_lines": [],
          "start_line": 19
        },
        "OrchestrationLoop": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 96,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 96,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            219, 220, 221, 222, 223, 224, 225, 226, 229, 230, 231, 240, 249, 258, 267, 276, 284,
            291, 292, 293, 295, 296, 297, 298, 299, 300, 304, 305, 310, 311, 313, 316, 317, 325,
            326, 327, 328, 344, 346, 347, 348, 350, 358, 359, 362, 363, 370, 372, 374, 375, 376,
            379, 382, 384, 386, 387, 388, 393, 394, 396, 397, 400, 414, 421, 423, 434, 435, 437,
            438, 439, 440, 442, 443, 444, 445, 456, 458, 459, 461, 462, 464, 467, 471, 473, 474,
            476, 477, 497, 499, 500, 501, 507, 508, 509, 511, 512
          ],
          "excluded_lines": [],
          "start_line": 191
        },
        "": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 40,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 40,
            "excluded_lines": 2,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            3, 4, 5, 7, 8, 9, 10, 11, 16, 19, 30, 47, 48, 56, 57, 65, 73, 106, 117, 159, 191, 202,
            233, 234, 242, 243, 251, 252, 260, 261, 269, 270, 278, 286, 319, 330, 402, 425, 447, 488
          ],
          "excluded_lines": [13, 14],
          "start_line": 1
        }
      }
    },
    "src/forced_continuation.py": {
      "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": [
        3, 6, 17, 29, 30, 36, 43, 51, 52, 53, 56, 57, 58, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71,
        72, 74, 77, 85, 86, 96, 97, 107, 108, 118, 119, 120, 121, 123, 135, 144
      ],
      "excluded_lines": [],
      "functions": {
        "ForcedContinuationService.generate_prompt": {
          "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": [
            29, 30, 36, 43, 51, 52, 53, 56, 57, 58, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 74,
            77, 85, 86, 96, 97, 107, 108, 118, 119, 120, 121, 123, 135, 144
          ],
          "excluded_lines": [],
          "start_line": 17
        },
        "": {
          "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": [3, 6, 17],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "ForcedContinuationService": {
          "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": [
            29, 30, 36, 43, 51, 52, 53, 56, 57, 58, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 74,
            77, 85, 86, 96, 97, 107, 108, 118, 119, 120, 121, 123, 135, 144
          ],
          "excluded_lines": [],
          "start_line": 6
        },
        "": {
          "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": [3, 6, 17],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/gates/__init__.py": {
      "executed_lines": [3, 4, 5, 6, 7, 9],
      "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": [],
      "functions": {
        "": {
          "executed_lines": [3, 4, 5, 6, 7, 9],
          "summary": {
            "covered_lines": 6,
            "num_statements": 6,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "": {
          "executed_lines": [3, 4, 5, 6, 7, 9],
          "summary": {
            "covered_lines": 6,
            "num_statements": 6,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/gates/build_gate.py": {
      "executed_lines": [3, 5, 8, 15, 21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
      "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": [],
      "functions": {
        "BuildGate.check": {
          "executed_lines": [21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
          "summary": {
            "covered_lines": 11,
            "num_statements": 11,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 15
        },
        "": {
          "executed_lines": [3, 5, 8, 15],
          "summary": {
            "covered_lines": 4,
            "num_statements": 4,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "BuildGate": {
          "executed_lines": [21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
          "summary": {
            "covered_lines": 11,
            "num_statements": 11,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 8
        },
        "": {
          "executed_lines": [3, 5, 8, 15],
          "summary": {
            "covered_lines": 4,
            "num_statements": 4,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/gates/coverage_gate.py": {
      "executed_lines": [
        3, 4, 5, 7, 10, 16, 18, 24, 26, 41, 42, 44, 46, 47, 59, 60, 75, 90, 91, 97, 98, 104, 105,
        111, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 129, 140, 141, 142, 143, 144,
        145, 146, 147, 148, 149
      ],
      "summary": {
        "covered_lines": 46,
        "num_statements": 46,
        "percent_covered": 100.0,
        "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": {
        "CoverageGate.check": {
          "executed_lines": [24, 26, 41, 42, 44, 46, 47, 59, 60, 75, 90, 91, 97, 98, 104, 105],
          "summary": {
            "covered_lines": 16,
            "num_statements": 16,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 18
        },
        "CoverageGate._extract_coverage_from_json": {
          "executed_lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127],
          "summary": {
            "covered_lines": 11,
            "num_statements": 11,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 111
        },
        "CoverageGate._extract_coverage_from_output": {
          "executed_lines": [140, 141, 142, 143, 144, 145, 146, 147, 148, 149],
          "summary": {
            "covered_lines": 10,
            "num_statements": 10,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 129
        },
        "": {
          "executed_lines": [3, 4, 5, 7, 10, 16, 18, 111, 129],
          "summary": {
            "covered_lines": 9,
            "num_statements": 9,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "CoverageGate": {
          "executed_lines": [
            24, 26, 41, 42, 44, 46, 47, 59, 60, 75, 90, 91, 97, 98, 104, 105, 117, 118, 119, 120,
            121, 122, 123, 124, 125, 126, 127, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149
          ],
          "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": 10
        },
        "": {
          "executed_lines": [3, 4, 5, 7, 10, 16, 18, 111, 129],
          "summary": {
            "covered_lines": 9,
            "num_statements": 9,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/gates/lint_gate.py": {
      "executed_lines": [3, 5, 8, 15, 21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
      "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": [],
      "functions": {
        "LintGate.check": {
          "executed_lines": [21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
          "summary": {
            "covered_lines": 11,
            "num_statements": 11,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 15
        },
        "": {
          "executed_lines": [3, 5, 8, 15],
          "summary": {
            "covered_lines": 4,
            "num_statements": 4,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "LintGate": {
          "executed_lines": [21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
          "summary": {
            "covered_lines": 11,
            "num_statements": 11,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 8
        },
        "": {
          "executed_lines": [3, 5, 8, 15],
          "summary": {
            "covered_lines": 4,
            "num_statements": 4,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/gates/quality_gate.py": {
      "executed_lines": [3, 5, 8, 17, 18, 19, 24, 30],
      "summary": {
        "covered_lines": 8,
        "num_statements": 8,
        "percent_covered": 100.0,
        "percent_covered_display": "100",
        "missing_lines": 0,
        "excluded_lines": 2,
        "percent_statements_covered": 100.0,
        "percent_statements_covered_display": "100"
      },
      "missing_lines": [],
      "excluded_lines": [36, 37],
      "functions": {
        "QualityGate.check": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 0,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 1,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [36],
          "start_line": 30
        },
        "": {
          "executed_lines": [3, 5, 8, 17, 18, 19, 24, 30],
          "summary": {
            "covered_lines": 8,
            "num_statements": 8,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "GateResult": {
          "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": 8
        },
        "QualityGate": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 0,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 1,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [36],
          "start_line": 24
        },
        "": {
          "executed_lines": [3, 5, 8, 17, 18, 19, 24, 30],
          "summary": {
            "covered_lines": 8,
            "num_statements": 8,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/gates/test_gate.py": {
      "executed_lines": [3, 5, 8, 15, 21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
      "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": [],
      "functions": {
        "TestGate.check": {
          "executed_lines": [21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
          "summary": {
            "covered_lines": 11,
            "num_statements": 11,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 15
        },
        "": {
          "executed_lines": [3, 5, 8, 15],
          "summary": {
            "covered_lines": 4,
            "num_statements": 4,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "TestGate": {
          "executed_lines": [21, 22, 29, 30, 40, 50, 51, 57, 58, 64, 65],
          "summary": {
            "covered_lines": 11,
            "num_statements": 11,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 8
        },
        "": {
          "executed_lines": [3, 5, 8, 15],
          "summary": {
            "covered_lines": 4,
            "num_statements": 4,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/main.py": {
      "executed_lines": [],
      "summary": {
        "covered_lines": 0,
        "num_statements": 67,
        "percent_covered": 0.0,
        "percent_covered_display": "0",
        "missing_lines": 67,
        "excluded_lines": 0,
        "percent_statements_covered": 0.0,
        "percent_statements_covered_display": "0"
      },
      "missing_lines": [
        3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 20, 22, 23, 31, 32, 35, 36, 39, 45, 48, 49, 60,
        61, 62, 63, 66, 67, 68, 71, 72, 76, 82, 83, 85, 87, 90, 93, 94, 95, 96, 97, 98, 99, 100,
        101, 102, 104, 108, 116, 119, 120, 121, 122, 125, 126, 132, 133, 135, 136, 137, 139, 148,
        151, 152, 154
      ],
      "excluded_lines": [],
      "functions": {
        "setup_logging": {
          "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": [22, 23],
          "excluded_lines": [],
          "start_line": 20
        },
        "get_coordinator": {
          "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": 39
        },
        "lifespan": {
          "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": [
            60, 61, 62, 63, 66, 67, 68, 71, 72, 76, 82, 83, 85, 87, 90, 93, 94, 95, 96, 97, 98, 99,
            100, 101, 102, 104
          ],
          "excluded_lines": [],
          "start_line": 49
        },
        "health_check": {
          "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": [132, 133, 135, 136, 137, 139],
          "excluded_lines": [],
          "start_line": 126
        },
        "": {
          "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": [
            3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 20, 31, 32, 35, 36, 39, 48, 49, 108, 116, 119,
            120, 121, 122, 125, 126, 148, 151, 152, 154
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "HealthResponse": {
          "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": 116
        },
        "": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 67,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 67,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 20, 22, 23, 31, 32, 35, 36, 39, 45, 48, 49,
            60, 61, 62, 63, 66, 67, 68, 71, 72, 76, 82, 83, 85, 87, 90, 93, 94, 95, 96, 97, 98, 99,
            100, 101, 102, 104, 108, 116, 119, 120, 121, 122, 125, 126, 132, 133, 135, 136, 137,
            139, 148, 151, 152, 154
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/metrics.py": {
      "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": [
        12, 13, 15, 16, 19, 20, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 51, 63, 69, 77, 83, 85, 114,
        115, 116, 118, 119, 121, 123, 126, 139, 140, 141, 144, 145, 148, 149, 150, 151, 152, 154,
        155, 156, 157, 158, 159, 160, 162, 166
      ],
      "excluded_lines": [],
      "functions": {
        "SuccessMetrics.to_dict": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [51],
          "excluded_lines": [],
          "start_line": 45
        },
        "SuccessMetrics.validate_targets": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [69],
          "excluded_lines": [],
          "start_line": 63
        },
        "SuccessMetrics.format_report": {
          "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": [83, 85, 114, 115, 116, 118, 119, 121, 123],
          "excluded_lines": [],
          "start_line": 77
        },
        "generate_metrics_from_orchestrator": {
          "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": [
            139, 140, 141, 144, 145, 148, 149, 150, 151, 152, 154, 155, 156, 157, 158, 159, 160,
            162, 166
          ],
          "excluded_lines": [],
          "start_line": 126
        },
        "": {
          "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": [
            12, 13, 15, 16, 19, 20, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 63, 77, 126
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "SuccessMetrics": {
          "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": [51, 69, 83, 85, 114, 115, 116, 118, 119, 121, 123],
          "excluded_lines": [],
          "start_line": 20
        },
        "": {
          "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": [
            12, 13, 15, 16, 19, 20, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 63, 77, 126, 139, 140,
            141, 144, 145, 148, 149, 150, 151, 152, 154, 155, 156, 157, 158, 159, 160, 162, 166
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/models.py": {
      "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": [
        3, 4, 6, 9, 12, 13, 14, 17, 20, 21, 22, 23, 24, 27, 30, 31, 32, 35, 38, 46, 47, 48, 50, 51,
        57, 58, 59, 61, 62, 68, 70, 72, 79, 82, 87, 91, 95, 99, 104, 105, 106, 108, 109, 110, 111,
        113, 114, 115, 117, 118, 119, 120, 122, 123, 124, 126, 127, 128, 131, 134, 135, 139, 143,
        147, 152, 153, 154, 156, 157, 158, 162, 201, 213
      ],
      "excluded_lines": [],
      "functions": {
        "ContextUsage.__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": [46, 47, 48],
          "excluded_lines": [],
          "start_line": 38
        },
        "ContextUsage.usage_ratio": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 3,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 3,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [57, 58, 59],
          "excluded_lines": [],
          "start_line": 51
        },
        "ContextUsage.usage_percent": {
          "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
        },
        "ContextUsage.__repr__": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [72],
          "excluded_lines": [],
          "start_line": 70
        },
        "IssueMetadata.validate_difficulty": {
          "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": [108, 109, 110, 111],
          "excluded_lines": [],
          "start_line": 106
        },
        "IssueMetadata.validate_agent": {
          "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": [117, 118, 119, 120],
          "excluded_lines": [],
          "start_line": 115
        },
        "IssueMetadata.validate_issue_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": [126, 127, 128],
          "excluded_lines": [],
          "start_line": 124
        },
        "AgentProfile.validate_best_for_not_empty": {
          "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": [156, 157, 158],
          "excluded_lines": [],
          "start_line": 154
        },
        "get_agent_profile": {
          "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": [213],
          "excluded_lines": [],
          "start_line": 201
        },
        "": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 50,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 50,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            3, 4, 6, 9, 12, 13, 14, 17, 20, 21, 22, 23, 24, 27, 30, 31, 32, 35, 38, 50, 51, 61, 62,
            70, 79, 82, 87, 91, 95, 99, 104, 105, 106, 113, 114, 115, 122, 123, 124, 131, 134, 135,
            139, 143, 147, 152, 153, 154, 162, 201
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "Capability": {
          "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": 9
        },
        "AgentName": {
          "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": 17
        },
        "ContextAction": {
          "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": 27
        },
        "ContextUsage": {
          "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": [46, 47, 48, 57, 58, 59, 68, 72],
          "excluded_lines": [],
          "start_line": 35
        },
        "IssueMetadata": {
          "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": [108, 109, 110, 111, 117, 118, 119, 120, 126, 127, 128],
          "excluded_lines": [],
          "start_line": 79
        },
        "AgentProfile": {
          "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": [156, 157, 158],
          "excluded_lines": [],
          "start_line": 131
        },
        "": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 51,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 51,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            3, 4, 6, 9, 12, 13, 14, 17, 20, 21, 22, 23, 24, 27, 30, 31, 32, 35, 38, 50, 51, 61, 62,
            70, 79, 82, 87, 91, 95, 99, 104, 105, 106, 113, 114, 115, 122, 123, 124, 131, 134, 135,
            139, 143, 147, 152, 153, 154, 162, 201, 213
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/parser.py": {
      "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": [
        3, 4, 5, 7, 8, 10, 12, 15, 18, 20, 23, 40, 41, 42, 45, 46, 48, 50, 52, 65, 66, 67, 68, 69,
        72, 82, 85, 87, 89, 90, 96, 99, 109, 139, 149
      ],
      "excluded_lines": [],
      "functions": {
        "clear_cache": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [20],
          "excluded_lines": [],
          "start_line": 18
        },
        "parse_issue_metadata": {
          "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": [
            40, 41, 42, 45, 46, 48, 50, 52, 65, 66, 67, 68, 69, 72, 82, 85, 87, 89, 90, 96
          ],
          "excluded_lines": [],
          "start_line": 23
        },
        "_build_parse_prompt": {
          "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": [109],
          "excluded_lines": [],
          "start_line": 99
        },
        "_create_metadata_from_parsed": {
          "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": [149],
          "excluded_lines": [],
          "start_line": 139
        },
        "": {
          "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": [3, 4, 5, 7, 8, 10, 12, 15, 18, 23, 99, 139],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "": {
          "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": [
            3, 4, 5, 7, 8, 10, 12, 15, 18, 20, 23, 40, 41, 42, 45, 46, 48, 50, 52, 65, 66, 67, 68,
            69, 72, 82, 85, 87, 89, 90, 96, 99, 109, 139, 149
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/quality_orchestrator.py": {
      "executed_lines": [
        3, 4, 6, 8, 9, 10, 11, 12, 15, 23, 24, 29, 38, 55, 56, 57, 58, 60, 74, 75, 76, 77, 80, 89,
        90, 92, 93, 95, 100, 101, 111, 113, 115, 130, 131, 132, 135, 139, 140, 142, 143, 145, 153,
        161, 162, 163
      ],
      "summary": {
        "covered_lines": 46,
        "num_statements": 53,
        "percent_covered": 86.79245283018868,
        "percent_covered_display": "87",
        "missing_lines": 7,
        "excluded_lines": 0,
        "percent_statements_covered": 86.79245283018868,
        "percent_statements_covered_display": "87"
      },
      "missing_lines": [104, 136, 144, 155, 156, 158, 164],
      "excluded_lines": [],
      "functions": {
        "QualityOrchestrator.__init__": {
          "executed_lines": [55, 56, 57, 58],
          "summary": {
            "covered_lines": 4,
            "num_statements": 4,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 38
        },
        "QualityOrchestrator.verify_completion": {
          "executed_lines": [74, 75, 76, 77, 80, 89, 90, 92, 93, 95, 100, 101, 111, 113],
          "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": [104],
          "excluded_lines": [],
          "start_line": 60
        },
        "QualityOrchestrator._run_gate_async": {
          "executed_lines": [130, 131, 132, 135, 139, 140, 142, 143, 145, 153, 161, 162, 163],
          "summary": {
            "covered_lines": 13,
            "num_statements": 19,
            "percent_covered": 68.42105263157895,
            "percent_covered_display": "68",
            "missing_lines": 6,
            "excluded_lines": 0,
            "percent_statements_covered": 68.42105263157895,
            "percent_statements_covered_display": "68"
          },
          "missing_lines": [136, 144, 155, 156, 158, 164],
          "excluded_lines": [],
          "start_line": 115
        },
        "": {
          "executed_lines": [3, 4, 6, 8, 9, 10, 11, 12, 15, 23, 24, 29, 38, 60, 115],
          "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": {
        "VerificationResult": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 0,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 15
        },
        "QualityOrchestrator": {
          "executed_lines": [
            55, 56, 57, 58, 74, 75, 76, 77, 80, 89, 90, 92, 93, 95, 100, 101, 111, 113, 130, 131,
            132, 135, 139, 140, 142, 143, 145, 153, 161, 162, 163
          ],
          "summary": {
            "covered_lines": 31,
            "num_statements": 38,
            "percent_covered": 81.57894736842105,
            "percent_covered_display": "82",
            "missing_lines": 7,
            "excluded_lines": 0,
            "percent_statements_covered": 81.57894736842105,
            "percent_statements_covered_display": "82"
          },
          "missing_lines": [104, 136, 144, 155, 156, 158, 164],
          "excluded_lines": [],
          "start_line": 29
        },
        "": {
          "executed_lines": [3, 4, 6, 8, 9, 10, 11, 12, 15, 23, 24, 29, 38, 60, 115],
          "summary": {
            "covered_lines": 15,
            "num_statements": 15,
            "percent_covered": 100.0,
            "percent_covered_display": "100",
            "missing_lines": 0,
            "excluded_lines": 0,
            "percent_statements_covered": 100.0,
            "percent_statements_covered_display": "100"
          },
          "missing_lines": [],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/queue.py": {
      "executed_lines": [],
      "summary": {
        "covered_lines": 0,
        "num_statements": 87,
        "percent_covered": 0.0,
        "percent_covered_display": "0",
        "missing_lines": 87,
        "excluded_lines": 0,
        "percent_statements_covered": 0.0,
        "percent_statements_covered_display": "0"
      },
      "missing_lines": [
        3, 4, 5, 6, 7, 9, 12, 15, 16, 17, 20, 21, 24, 25, 26, 27, 29, 32, 34, 40, 47, 48, 57, 65,
        68, 74, 75, 76, 78, 85, 89, 90, 91, 93, 99, 100, 101, 102, 104, 110, 116, 119, 122, 123,
        124, 127, 128, 130, 136, 137, 138, 139, 141, 147, 148, 149, 151, 160, 162, 168, 170, 176,
        178, 184, 186, 192, 199, 201, 202, 205, 208, 210, 212, 214, 215, 217, 219, 220, 222, 223,
        224, 226, 227, 228, 231, 232, 234
      ],
      "excluded_lines": [],
      "functions": {
        "QueueItem.__post_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": [32],
          "excluded_lines": [],
          "start_line": 29
        },
        "QueueItem.to_dict": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [40],
          "excluded_lines": [],
          "start_line": 34
        },
        "QueueItem.from_dict": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [57],
          "excluded_lines": [],
          "start_line": 48
        },
        "QueueManager.__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": [74, 75, 76],
          "excluded_lines": [],
          "start_line": 68
        },
        "QueueManager.enqueue": {
          "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": [85, 89, 90, 91],
          "excluded_lines": [],
          "start_line": 78
        },
        "QueueManager.dequeue": {
          "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": [99, 100, 101, 102],
          "excluded_lines": [],
          "start_line": 93
        },
        "QueueManager.get_next_ready": {
          "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": [110, 116, 119, 122, 123, 124, 127, 128],
          "excluded_lines": [],
          "start_line": 104
        },
        "QueueManager.mark_complete": {
          "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": [136, 137, 138, 139],
          "excluded_lines": [],
          "start_line": 130
        },
        "QueueManager.mark_in_progress": {
          "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": [147, 148, 149],
          "excluded_lines": [],
          "start_line": 141
        },
        "QueueManager.get_item": {
          "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": [160],
          "excluded_lines": [],
          "start_line": 151
        },
        "QueueManager.list_all": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 1,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 1,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [168],
          "excluded_lines": [],
          "start_line": 162
        },
        "QueueManager.list_ready": {
          "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": [176],
          "excluded_lines": [],
          "start_line": 170
        },
        "QueueManager.size": {
          "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": [184],
          "excluded_lines": [],
          "start_line": 178
        },
        "QueueManager._update_ready_status": {
          "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": [192, 199, 201, 202, 205, 208],
          "excluded_lines": [],
          "start_line": 186
        },
        "QueueManager.save": {
          "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": [212, 214, 215],
          "excluded_lines": [],
          "start_line": 210
        },
        "QueueManager._load": {
          "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": [219, 220, 222, 223, 224, 226, 227, 228, 231, 232, 234],
          "excluded_lines": [],
          "start_line": 217
        },
        "": {
          "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": [
            3, 4, 5, 6, 7, 9, 12, 15, 16, 17, 20, 21, 24, 25, 26, 27, 29, 34, 47, 48, 65, 68, 78,
            93, 104, 130, 141, 151, 162, 170, 178, 186, 210, 217
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "QueueItemStatus": {
          "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": 12
        },
        "QueueItem": {
          "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": [32, 40, 57],
          "excluded_lines": [],
          "start_line": 21
        },
        "QueueManager": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 50,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 50,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            74, 75, 76, 85, 89, 90, 91, 99, 100, 101, 102, 110, 116, 119, 122, 123, 124, 127, 128,
            136, 137, 138, 139, 147, 148, 149, 160, 168, 176, 184, 192, 199, 201, 202, 205, 208,
            212, 214, 215, 219, 220, 222, 223, 224, 226, 227, 228, 231, 232, 234
          ],
          "excluded_lines": [],
          "start_line": 65
        },
        "": {
          "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": [
            3, 4, 5, 6, 7, 9, 12, 15, 16, 17, 20, 21, 24, 25, 26, 27, 29, 34, 47, 48, 65, 68, 78,
            93, 104, 130, 141, 151, 162, 170, 178, 186, 210, 217
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/security.py": {
      "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": [3, 4, 7, 26, 27, 30, 35],
      "excluded_lines": [],
      "functions": {
        "verify_signature": {
          "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": [26, 27, 30, 35],
          "excluded_lines": [],
          "start_line": 7
        },
        "": {
          "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": [3, 4, 7],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "": {
          "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": [3, 4, 7, 26, 27, 30, 35],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/validation.py": {
      "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": [7, 9, 13, 22, 23, 31, 32, 35, 54, 55, 58, 61, 64, 65, 74],
      "excluded_lines": [],
      "functions": {
        "validate_fifty_percent_rule": {
          "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": [54, 55, 58, 61, 64, 65, 74],
          "excluded_lines": [],
          "start_line": 35
        },
        "": {
          "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": [7, 9, 13, 22, 23, 31, 32, 35],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "ValidationResult": {
          "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": 23
        },
        "": {
          "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": [7, 9, 13, 22, 23, 31, 32, 35, 54, 55, 58, 61, 64, 65, 74],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    },
    "src/webhook.py": {
      "executed_lines": [],
      "summary": {
        "covered_lines": 0,
        "num_statements": 43,
        "percent_covered": 0.0,
        "percent_covered_display": "0",
        "missing_lines": 43,
        "excluded_lines": 0,
        "percent_statements_covered": 0.0,
        "percent_statements_covered_display": "0"
      },
      "missing_lines": [
        3, 4, 6, 7, 9, 10, 12, 14, 17, 20, 21, 22, 23, 26, 29, 30, 31, 32, 33, 36, 37, 59, 62, 65,
        69, 72, 82, 83, 84, 85, 86, 87, 90, 91, 99, 109, 120, 128, 138, 146, 154, 164, 172
      ],
      "excluded_lines": [],
      "functions": {
        "handle_gitea_webhook": {
          "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": [59, 62, 65, 69, 72, 82, 83, 84, 85, 86, 87, 90, 91],
          "excluded_lines": [],
          "start_line": 37
        },
        "handle_assigned_event": {
          "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": [109, 120],
          "excluded_lines": [],
          "start_line": 99
        },
        "handle_unassigned_event": {
          "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": [138, 146],
          "excluded_lines": [],
          "start_line": 128
        },
        "handle_closed_event": {
          "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": [164, 172],
          "excluded_lines": [],
          "start_line": 154
        },
        "": {
          "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": [
            3, 4, 6, 7, 9, 10, 12, 14, 17, 20, 21, 22, 23, 26, 29, 30, 31, 32, 33, 36, 37, 99, 128,
            154
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      },
      "classes": {
        "WebhookResponse": {
          "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": 17
        },
        "GiteaWebhookPayload": {
          "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": 26
        },
        "": {
          "executed_lines": [],
          "summary": {
            "covered_lines": 0,
            "num_statements": 43,
            "percent_covered": 0.0,
            "percent_covered_display": "0",
            "missing_lines": 43,
            "excluded_lines": 0,
            "percent_statements_covered": 0.0,
            "percent_statements_covered_display": "0"
          },
          "missing_lines": [
            3, 4, 6, 7, 9, 10, 12, 14, 17, 20, 21, 22, 23, 26, 29, 30, 31, 32, 33, 36, 37, 59, 62,
            65, 69, 72, 82, 83, 84, 85, 86, 87, 90, 91, 99, 109, 120, 128, 138, 146, 154, 164, 172
          ],
          "excluded_lines": [],
          "start_line": 1
        }
      }
    }
  },
  "totals": {
    "covered_lines": 152,
    "num_statements": 945,
    "percent_covered": 16.084656084656086,
    "percent_covered_display": "16",
    "missing_lines": 793,
    "excluded_lines": 4,
    "percent_statements_covered": 16.084656084656086,
    "percent_statements_covered_display": "16"
  }
}
