diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 4e4962fc..d3fdee8f 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -32,7 +32,7 @@ jobs: python-version: '3.11' - name: Install Bandit - run: pip install bandit bandit-exclude-templates + run: pip install bandit - name: Run Bandit SAST run: | @@ -144,10 +144,8 @@ jobs: - name: Run Gitleaks uses: gitleaks/gitleaks-action@v2 - with: - config-path: .gitleaks.toml - redact: true - verbose: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # ============================================================================= # Dependency Review (check for vulnerable dependencies in PRs) @@ -163,7 +161,7 @@ jobs: - name: Dependency Review uses: actions/dependency-review-action@v4 with: - fail-on-severity: high,critical + fail-on-severity: high # ============================================================================= # CodeQL Analysis diff --git a/.jules/bolt.md b/.jules/bolt.md index b0f22698..2329c516 100644 --- a/.jules/bolt.md +++ b/.jules/bolt.md @@ -6,3 +6,7 @@ ## 2026-03-18 - O(N) aggregation over O(N*M) filters **Learning:** In React components with dynamically generated filter lists, using `.filter().length` inside a `.map()` results in O(N*M) time complexity, leading to sluggish renders with larger datasets. **Action:** Use `.reduce()` or a single loop inside `useMemo` to pre-calculate category counts in an O(N) pass instead. + +## 2024-04-04 - [O(N*M) to O(N+M) filtering] +**Learning:** Using `Array.prototype.includes` inside `Array.prototype.filter` creates O(N*M) complexity which causes performance drops on larger lists. +**Action:** Always convert the exclusion array into a `Set` to achieve O(1) lookups, resulting in an O(N+M) complexity for the filter pass. Use `useMemo` to cache the result. diff --git a/Dockerfile b/Dockerfile index f7d3ad89..aadffb4f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ # ============================================ # Stage 1: Backend builder # ============================================ -FROM python:3.14-slim AS backend-builder +FROM python:3.11-slim AS backend-builder WORKDIR /app/backend @@ -24,7 +24,7 @@ RUN pip install --no-cache-dir -r requirements.txt # ============================================ # Stage 2: AI Engine builder # ============================================ -FROM python:3.14-slim AS ai-engine-builder +FROM python:3.11-slim AS ai-engine-builder WORKDIR /app/ai-engine @@ -43,7 +43,7 @@ RUN pip install --no-cache-dir -r requirements.txt # ============================================ # Stage 3: Production backend # ============================================ -FROM python:3.14-slim +FROM python:3.11-slim WORKDIR /app diff --git a/Dockerfile.fly b/Dockerfile.fly index df8ed3e8..4607c00c 100644 --- a/Dockerfile.fly +++ b/Dockerfile.fly @@ -14,7 +14,7 @@ ENV VITE_API_BASE_URL=$VITE_API_BASE_URL RUN pnpm run build # Python dependencies build stage (consolidates all Python deps) -FROM python:3.14-slim AS python-builder +FROM python:3.11-slim AS python-builder WORKDIR /tmp RUN apt-get update && apt-get install -y --no-install-recommends \ gcc g++ curl libmagic1 ffmpeg && \ diff --git a/backend/coverage.json b/backend/coverage.json new file mode 100644 index 00000000..00f52e2c --- /dev/null +++ b/backend/coverage.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.13.5", "timestamp": "2026-04-04T23:37:05.302059", "branch_coverage": false, "show_contexts": false}, "files": {"src/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/api/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/api/advanced_events.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 161, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 161, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 33, 34, 35, 36, 37, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 58, 59, 60, 63, 66, 67, 68, 71, 74, 75, 76, 77, 80, 83, 84, 85, 86, 87, 90, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 108, 109, 110, 111, 112, 113, 114, 117, 120, 121, 122, 123, 124, 125, 126, 127, 130, 133, 134, 135, 138, 141, 142, 143, 144, 145, 146, 150, 250, 253, 257, 273, 276, 280, 292, 295, 299, 315, 320, 324, 341, 347, 355, 356, 357, 358, 361, 362, 363, 366, 380, 381, 389, 391, 392, 393, 398, 403, 413, 419, 424, 432, 434, 437, 438, 439, 441, 442, 444, 456, 457, 458, 461, 466, 474, 476, 478, 480, 481, 482, 485, 489, 492, 500, 501, 504, 505, 511, 513, 529, 530, 531], "excluded_lines": [], "functions": {"get_event_types": {"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": [257], "excluded_lines": [], "start_line": 253}, "get_trigger_types": {"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": [280], "excluded_lines": [], "start_line": 276}, "get_action_types": {"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": [299], "excluded_lines": [], "start_line": 295}, "get_event_templates": {"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": [324], "excluded_lines": [], "start_line": 320}, "create_event_system": {"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": [355, 356, 357, 358, 361, 362, 363, 366, 380, 381, 389, 391, 392, 393], "excluded_lines": [], "start_line": 347}, "get_event_system": {"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": [413], "excluded_lines": [], "start_line": 403}, "test_event_system": {"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": [432, 434, 437, 438, 439, 441, 442, 444, 456, 457, 458], "excluded_lines": [], "start_line": 424}, "generate_event_system_functions": {"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": [474, 476, 478, 480, 481, 482], "excluded_lines": [], "start_line": 466}, "generate_event_functions_background": {"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": [489, 492, 500, 501], "excluded_lines": [], "start_line": 485}, "get_event_system_debug": {"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": [511, 513, 529, 530, 531], "excluded_lines": [], "start_line": 505}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 116, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 116, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 33, 34, 35, 36, 37, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 58, 59, 60, 63, 66, 67, 68, 71, 74, 75, 76, 77, 80, 83, 84, 85, 86, 87, 90, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 108, 109, 110, 111, 112, 113, 114, 117, 120, 121, 122, 123, 124, 125, 126, 127, 130, 133, 134, 135, 138, 141, 142, 143, 144, 145, 146, 150, 250, 253, 273, 276, 292, 295, 315, 320, 341, 347, 398, 403, 419, 424, 461, 466, 485, 504, 505], "excluded_lines": [], "start_line": 1}}, "classes": {"EventType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "EventTriggerType": {"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": 30}, "EventActionType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "EventCondition": {"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": 55}, "EventTrigger": {"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": 63}, "EventAction": {"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": 71}, "EventSystemConfig": {"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": 80}, "AdvancedEventSystem": {"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": 90}, "AdvancedEventSystemCreate": {"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": 105}, "AdvancedEventSystemUpdate": {"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": 117}, "EventSystemTest": {"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": 130}, "EventSystemTestResult": {"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": 138}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 161, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 161, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 33, 34, 35, 36, 37, 40, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 58, 59, 60, 63, 66, 67, 68, 71, 74, 75, 76, 77, 80, 83, 84, 85, 86, 87, 90, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 105, 108, 109, 110, 111, 112, 113, 114, 117, 120, 121, 122, 123, 124, 125, 126, 127, 130, 133, 134, 135, 138, 141, 142, 143, 144, 145, 146, 150, 250, 253, 257, 273, 276, 280, 292, 295, 299, 315, 320, 324, 341, 347, 355, 356, 357, 358, 361, 362, 363, 366, 380, 381, 389, 391, 392, 393, 398, 403, 413, 419, 424, 432, 434, 437, 438, 439, 441, 442, 444, 456, 457, 458, 461, 466, 474, 476, 478, 480, 481, 482, 485, 489, 492, 500, 501, 504, 505, 511, 513, 529, 530, 531], "excluded_lines": [], "start_line": 1}}}, "src/api/analytics.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 142, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 142, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 25, 26, 27, 28, 29, 30, 32, 57, 60, 61, 62, 63, 64, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 89, 90, 93, 94, 105, 108, 109, 110, 113, 114, 115, 116, 117, 118, 121, 123, 124, 136, 147, 148, 150, 152, 155, 156, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 191, 192, 193, 195, 197, 198, 210, 224, 225, 226, 228, 231, 232, 245, 246, 251, 253, 255, 256, 259, 268, 275, 280, 287, 288, 289, 291, 295, 296, 308, 309, 310, 311, 313, 315, 316, 325, 327, 328, 329, 331, 334, 335, 351, 359, 360, 366, 367, 368, 369, 371, 373, 375, 376, 386, 388, 389, 390, 392, 395, 396, 403], "excluded_lines": [], "functions": {"track_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [105, 108, 109, 110, 113, 114, 115, 116, 117, 118, 121, 123, 124, 136, 147, 148, 150, 152], "excluded_lines": [], "start_line": 94}, "get_events": {"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": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 191, 192, 193, 195, 197, 198, 210, 224, 225, 226, 228], "excluded_lines": [], "start_line": 156}, "get_analytics_stats": {"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": [245, 246, 251, 253, 255, 256, 259, 268, 275, 280, 287, 288, 289, 291], "excluded_lines": [], "start_line": 232}, "track_page_view": {"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": [308, 309, 310, 311, 313, 315, 316, 325, 327, 328, 329, 331], "excluded_lines": [], "start_line": 296}, "track_conversion_event": {"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": [351, 359, 360, 366, 367, 368, 369, 371, 373, 375, 376, 386, 388, 389, 390, 392], "excluded_lines": [], "start_line": 335}, "get_event_types": {"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": [403], "excluded_lines": [], "start_line": 396}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 25, 26, 27, 28, 29, 30, 32, 57, 60, 61, 62, 63, 64, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 89, 90, 93, 94, 155, 156, 231, 232, 295, 296, 334, 335, 395, 396], "excluded_lines": [], "start_line": 1}}, "classes": {"AnalyticsEventRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "AnalyticsEventResponse": {"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": 57}, "AnalyticsQueryRequest": {"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": 70}, "AnalyticsStatsResponse": {"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": 84}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 142, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 142, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 25, 26, 27, 28, 29, 30, 32, 57, 60, 61, 62, 63, 64, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 89, 90, 93, 94, 105, 108, 109, 110, 113, 114, 115, 116, 117, 118, 121, 123, 124, 136, 147, 148, 150, 152, 155, 156, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 191, 192, 193, 195, 197, 198, 210, 224, 225, 226, 228, 231, 232, 245, 246, 251, 253, 255, 256, 259, 268, 275, 280, 287, 288, 289, 291, 295, 296, 308, 309, 310, 311, 313, 315, 316, 325, 327, 328, 329, 331, 334, 335, 351, 359, 360, 366, 367, 368, 369, 371, 373, 375, 376, 386, 388, 389, 390, 392, 395, 396, 403], "excluded_lines": [], "start_line": 1}}}, "src/api/assets.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 152, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 152, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 47, 57, 58, 59, 60, 63, 65, 82, 85, 102, 103, 111, 112, 113, 114, 117, 118, 131, 132, 135, 138, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 157, 158, 159, 160, 161, 162, 163, 165, 168, 169, 178, 179, 181, 182, 183, 184, 187, 189, 190, 191, 192, 197, 198, 206, 207, 208, 210, 213, 214, 227, 235, 236, 238, 241, 242, 253, 255, 256, 258, 261, 262, 271, 272, 273, 276, 277, 278, 281, 282, 283, 284, 285, 286, 288, 289, 290, 291, 292, 293, 295, 299, 300, 313, 314, 315, 317, 319, 321, 323, 325, 327, 328, 329, 331, 332, 333, 335, 336, 337, 341, 342, 354, 356, 358, 367, 368, 369], "excluded_lines": [], "functions": {"_asset_to_response": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [65], "excluded_lines": [], "start_line": 63}, "list_conversion_assets": {"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": [102, 103, 111, 112, 113, 114], "excluded_lines": [], "start_line": 85}, "upload_asset": {"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": [131, 132, 135, 138, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 157, 158, 159, 160, 161, 162, 163, 165, 168, 169, 178, 179, 181, 182, 183, 184, 187, 189, 190, 191, 192], "excluded_lines": [], "start_line": 118}, "get_asset": {"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": [206, 207, 208, 210], "excluded_lines": [], "start_line": 198}, "update_asset_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [227, 235, 236, 238], "excluded_lines": [], "start_line": 214}, "update_asset_metadata": {"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": [253, 255, 256, 258], "excluded_lines": [], "start_line": 242}, "delete_asset": {"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": [271, 272, 273, 276, 277, 278, 281, 282, 283, 284, 285, 286, 288, 289, 290, 291, 292, 293, 295], "excluded_lines": [], "start_line": 262}, "trigger_asset_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [313, 314, 315, 317, 319, 321, 323, 325, 327, 328, 329, 331, 332, 333, 335, 336, 337], "excluded_lines": [], "start_line": 300}, "convert_all_conversion_assets": {"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": [354, 356, 358, 367, 368, 369], "excluded_lines": [], "start_line": 342}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 47, 57, 58, 59, 60, 63, 82, 85, 117, 118, 197, 198, 213, 214, 241, 242, 261, 262, 299, 300, 341, 342], "excluded_lines": [], "start_line": 1}}, "classes": {"AssetResponse": {"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}, "AssetUploadRequest": {"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": 43}, "AssetStatusUpdate": {"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": 57}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 152, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 152, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 20, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 47, 57, 58, 59, 60, 63, 65, 82, 85, 102, 103, 111, 112, 113, 114, 117, 118, 131, 132, 135, 138, 139, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 157, 158, 159, 160, 161, 162, 163, 165, 168, 169, 178, 179, 181, 182, 183, 184, 187, 189, 190, 191, 192, 197, 198, 206, 207, 208, 210, 213, 214, 227, 235, 236, 238, 241, 242, 253, 255, 256, 258, 261, 262, 271, 272, 273, 276, 277, 278, 281, 282, 283, 284, 285, 286, 288, 289, 290, 291, 292, 293, 295, 299, 300, 313, 314, 315, 317, 319, 321, 323, 325, 327, 328, 329, 331, 332, 333, 335, 336, 337, 341, 342, 354, 356, 358, 367, 368, 369], "excluded_lines": [], "start_line": 1}}}, "src/api/auth.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 188, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 188, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 17, 18, 19, 20, 21, 23, 24, 25, 37, 39, 42, 50, 53, 54, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 71, 74, 75, 78, 81, 82, 85, 88, 89, 90, 93, 96, 99, 102, 103, 106, 109, 112, 115, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 132, 135, 143, 153, 154, 156, 157, 163, 164, 166, 167, 173, 181, 182, 189, 190, 192, 193, 198, 199, 207, 208, 209, 211, 212, 216, 222, 223, 230, 231, 233, 234, 239, 240, 245, 246, 251, 252, 254, 260, 261, 267, 270, 271, 278, 280, 281, 286, 287, 289, 290, 295, 297, 302, 303, 310, 316, 318, 319, 324, 325, 326, 328, 330, 333, 334, 341, 342, 344, 345, 346, 347, 348, 350, 351, 353, 358, 359, 367, 373, 375, 376, 381, 382, 383, 385, 387, 395, 396, 402, 411, 412, 420, 421, 427, 428, 432, 434, 435, 437, 444, 445, 452, 453, 455, 463, 464, 472, 474, 475, 477, 484, 485, 486, 488, 497, 498, 505, 508, 510, 523, 524, 532, 538, 540, 541, 546, 547, 549], "excluded_lines": [], "functions": {"RegisterRequest.validate_password": {"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": [60, 61, 62, 63, 64, 65, 66, 67, 68], "excluded_lines": [], "start_line": 58}, "PasswordResetConfirmRequest.validate_password": {"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": [121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": [], "start_line": 119}, "get_current_user": {"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": [153, 154, 156, 157, 163, 164, 166, 167, 173], "excluded_lines": [], "start_line": 143}, "register": {"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": [189, 190, 192, 193, 198, 199, 207, 208, 209, 211, 212, 216], "excluded_lines": [], "start_line": 182}, "login": {"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": [230, 231, 233, 234, 239, 240, 245, 246, 251, 252, 254], "excluded_lines": [], "start_line": 223}, "logout": {"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}, "refresh_token_endpoint": {"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": [278, 280, 281, 286, 287, 289, 290, 295, 297], "excluded_lines": [], "start_line": 271}, "verify_email": {"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": [310, 316, 318, 319, 324, 325, 326, 328, 330], "excluded_lines": [], "start_line": 303}, "forgot_password": {"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": [341, 342, 344, 345, 346, 347, 348, 350, 351, 353], "excluded_lines": [], "start_line": 334}, "reset_password": {"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": [367, 373, 375, 376, 381, 382, 383, 385, 387], "excluded_lines": [], "start_line": 359}, "get_current_user_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": [402], "excluded_lines": [], "start_line": 396}, "update_current_user_profile": {"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": [420, 421, 427, 428, 432, 434, 435, 437], "excluded_lines": [], "start_line": 412}, "delete_current_user_account": {"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": [452, 453, 455], "excluded_lines": [], "start_line": 445}, "create_api_key_endpoint": {"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": [472, 474, 475, 477, 484, 485, 486, 488], "excluded_lines": [], "start_line": 464}, "list_api_keys": {"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": [505, 508, 510], "excluded_lines": [], "start_line": 498}, "revoke_api_key": {"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": [532, 538, 540, 541, 546, 547, 549], "excluded_lines": [], "start_line": 524}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 70, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 70, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 17, 18, 19, 20, 21, 23, 24, 25, 37, 39, 42, 50, 53, 54, 56, 57, 58, 71, 74, 75, 78, 81, 82, 85, 88, 89, 90, 93, 96, 99, 102, 103, 106, 109, 112, 115, 117, 118, 119, 132, 135, 143, 181, 182, 222, 223, 260, 261, 270, 271, 302, 303, 333, 334, 358, 359, 395, 396, 411, 412, 444, 445, 463, 464, 497, 498, 523, 524], "excluded_lines": [], "start_line": 1}}, "classes": {"RegisterRequest": {"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": [60, 61, 62, 63, 64, 65, 66, 67, 68], "excluded_lines": [], "start_line": 50}, "RegisterResponse": {"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": 71}, "LoginRequest": {"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": 78}, "LoginResponse": {"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": 85}, "TokenRefreshRequest": {"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": 93}, "TokenResponse": {"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": 99}, "PasswordResetRequest": {"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": 106}, "PasswordResetConfirmRequest": {"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": [121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": [], "start_line": 112}, "MessageResponse": {"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": 132}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 170, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 170, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 17, 18, 19, 20, 21, 23, 24, 25, 37, 39, 42, 50, 53, 54, 56, 57, 58, 71, 74, 75, 78, 81, 82, 85, 88, 89, 90, 93, 96, 99, 102, 103, 106, 109, 112, 115, 117, 118, 119, 132, 135, 143, 153, 154, 156, 157, 163, 164, 166, 167, 173, 181, 182, 189, 190, 192, 193, 198, 199, 207, 208, 209, 211, 212, 216, 222, 223, 230, 231, 233, 234, 239, 240, 245, 246, 251, 252, 254, 260, 261, 267, 270, 271, 278, 280, 281, 286, 287, 289, 290, 295, 297, 302, 303, 310, 316, 318, 319, 324, 325, 326, 328, 330, 333, 334, 341, 342, 344, 345, 346, 347, 348, 350, 351, 353, 358, 359, 367, 373, 375, 376, 381, 382, 383, 385, 387, 395, 396, 402, 411, 412, 420, 421, 427, 428, 432, 434, 435, 437, 444, 445, 452, 453, 455, 463, 464, 472, 474, 475, 477, 484, 485, 486, 488, 497, 498, 505, 508, 510, 523, 524, 532, 538, 540, 541, 546, 547, 549], "excluded_lines": [], "start_line": 1}}}, "src/api/automation_metrics.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 158, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 158, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 23, 25, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 52, 78, 81, 82, 83, 86, 89, 90, 91, 92, 95, 98, 99, 100, 101, 102, 105, 108, 109, 110, 113, 116, 117, 118, 121, 124, 125, 126, 127, 128, 129, 132, 135, 136, 137, 138, 139, 142, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 163, 166, 167, 168, 169, 170, 171, 172, 173, 176, 179, 180, 181, 182, 185, 188, 189, 190, 191, 192, 193, 194, 195, 196, 199, 202, 203, 204, 205, 213, 214, 223, 224, 225, 227, 245, 246, 247, 250, 251, 260, 261, 262, 264, 316, 317, 318, 321, 322, 331, 332, 335, 336, 338, 351, 356, 357, 358, 361, 362, 371, 372, 373, 375, 393, 394, 395, 398, 399, 410, 411, 412, 419, 438, 439, 440, 443, 444, 451, 452, 453, 455, 459, 460, 461], "excluded_lines": [], "functions": {"get_automation_metrics": {"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": [223, 224, 225, 227, 245, 246, 247], "excluded_lines": [], "start_line": 214}, "get_automation_dashboard": {"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": [260, 261, 262, 264, 316, 317, 318], "excluded_lines": [], "start_line": 251}, "record_conversion_event": {"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": [331, 332, 335, 336, 338, 351, 356, 357, 358], "excluded_lines": [], "start_line": 322}, "get_automation_history": {"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": [371, 372, 373, 375, 393, 394, 395], "excluded_lines": [], "start_line": 362}, "get_conversion_events": {"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": [410, 411, 412, 419, 438, 439, 440], "excluded_lines": [], "start_line": 399}, "reset_automation_metrics": {"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": [451, 452, 453, 455, 459, 460, 461], "excluded_lines": [], "start_line": 444}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 114, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 114, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 23, 25, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 52, 78, 81, 82, 83, 86, 89, 90, 91, 92, 95, 98, 99, 100, 101, 102, 105, 108, 109, 110, 113, 116, 117, 118, 121, 124, 125, 126, 127, 128, 129, 132, 135, 136, 137, 138, 139, 142, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 163, 166, 167, 168, 169, 170, 171, 172, 173, 176, 179, 180, 181, 182, 185, 188, 189, 190, 191, 192, 193, 194, 195, 196, 199, 202, 203, 204, 205, 213, 214, 250, 251, 321, 322, 361, 362, 398, 399, 443, 444], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionEventRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "ConversionEventResponse": {"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": 78}, "MetricValue": {"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": 86}, "MetricsSummary": {"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": 95}, "MetricsStatus": {"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": 105}, "MetricsPeriod": {"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": 113}, "MetricData": {"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": 121}, "DashboardData": {"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": 132}, "AutomationMetricsResponse": {"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": 142}, "HistoricalDataPoint": {"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": 163}, "HistoricalDataResponse": {"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": 176}, "HistoryEvent": {"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": 185}, "HistoryEventsResponse": {"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": 199}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 158, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 158, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 23, 25, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 52, 78, 81, 82, 83, 86, 89, 90, 91, 92, 95, 98, 99, 100, 101, 102, 105, 108, 109, 110, 113, 116, 117, 118, 121, 124, 125, 126, 127, 128, 129, 132, 135, 136, 137, 138, 139, 142, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 163, 166, 167, 168, 169, 170, 171, 172, 173, 176, 179, 180, 181, 182, 185, 188, 189, 190, 191, 192, 193, 194, 195, 196, 199, 202, 203, 204, 205, 213, 214, 223, 224, 225, 227, 245, 246, 247, 250, 251, 260, 261, 262, 264, 316, 317, 318, 321, 322, 331, 332, 335, 336, 338, 351, 356, 357, 358, 361, 362, 371, 372, 373, 375, 393, 394, 395, 398, 399, 410, 411, 412, 419, 438, 439, 440, 443, 444, 451, 452, 453, 455, 459, 460, 461], "excluded_lines": [], "start_line": 1}}}, "src/api/batch_conversion.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23, 26, 27, 28, 31, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 50, 53, 56, 57, 58, 59, 62, 63, 78, 79, 81, 82, 89, 90, 96, 99, 100, 101, 107, 108, 110, 113, 121, 123, 132, 142, 146, 149, 151, 154, 155, 166, 172, 174, 175, 181, 182, 183, 185, 186, 188, 207, 208, 219, 225, 227, 228, 234, 235, 236, 238, 239, 240, 241, 250, 251, 263, 264, 265, 267, 280, 281, 294, 301, 302, 313, 319, 321, 322, 328, 329, 330, 331, 332, 334, 336], "excluded_lines": [], "functions": {"start_batch_conversion": {"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, 81, 82, 89, 90, 96, 99, 100, 101, 107, 108, 110, 113, 121, 123], "excluded_lines": [], "start_line": 63}, "process_batch_conversion": {"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": [142, 146, 149, 151], "excluded_lines": [], "start_line": 132}, "get_batch_status": {"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": [166, 172, 174, 175, 181, 182, 183, 185, 186, 188], "excluded_lines": [], "start_line": 155}, "get_batch_results": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [219, 225, 227, 228, 234, 235, 236, 238, 239, 240, 241, 250, 251, 263, 264, 265, 267], "excluded_lines": [], "start_line": 208}, "download_all_batch": {"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": [294], "excluded_lines": [], "start_line": 281}, "cancel_batch": {"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": [313, 319, 321, 322, 328, 329, 330, 331, 332, 334, 336], "excluded_lines": [], "start_line": 302}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23, 26, 27, 28, 31, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 50, 53, 56, 57, 58, 59, 62, 63, 132, 154, 155, 207, 208, 280, 281, 301, 302], "excluded_lines": [], "start_line": 1}}, "classes": {"BatchConversionRequest": {"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}, "BatchConversionResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "BatchStatusResponse": {"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": 41}, "BatchResultResponse": {"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": 53}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 23, 26, 27, 28, 31, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 50, 53, 56, 57, 58, 59, 62, 63, 78, 79, 81, 82, 89, 90, 96, 99, 100, 101, 107, 108, 110, 113, 121, 123, 132, 142, 146, 149, 151, 154, 155, 166, 172, 174, 175, 181, 182, 183, 185, 186, 188, 207, 208, 219, 225, 227, 228, 234, 235, 236, 238, 239, 240, 241, 250, 251, 263, 264, 265, 267, 280, 281, 294, 301, 302, 313, 319, 321, 322, 328, 329, 330, 331, 332, 334, 336], "excluded_lines": [], "start_line": 1}}}, "src/api/behavior_export.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 144, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 144, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 24, 25, 28, 29, 32, 35, 36, 37, 38, 39, 40, 43, 44, 55, 56, 57, 58, 61, 62, 63, 66, 68, 69, 72, 73, 76, 77, 79, 93, 115, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127, 129, 132, 134, 143, 145, 147, 148, 150, 153, 154, 155, 157, 158, 160, 163, 166, 167, 171, 172, 175, 176, 178, 190, 192, 195, 200, 201, 204, 205, 209, 210, 214, 215, 218, 219, 221, 230, 231, 233, 238, 241, 249, 250, 251, 252, 255, 256, 257, 260, 261, 263, 264, 267, 268, 269, 271, 272, 274, 281, 284, 288, 310, 311, 318, 319, 320, 321, 324, 325, 326, 329, 331, 332, 335, 341, 343, 344, 347, 348, 349, 350, 351, 352, 355, 356, 359, 363], "excluded_lines": [], "functions": {"export_behavior_pack": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 66, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 66, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [55, 56, 57, 58, 61, 62, 63, 66, 68, 69, 72, 73, 76, 77, 79, 93, 115, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127, 129, 132, 134, 143, 145, 147, 148, 150, 153, 154, 155, 157, 158, 160, 163, 166, 167, 171, 172, 175, 176, 178, 190, 192, 195, 200, 201, 204, 205, 209, 210, 214, 215, 218, 219, 221, 230, 231, 233], "excluded_lines": [], "start_line": 44}, "download_exported_pack": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [249, 250, 251, 252, 255, 256, 257, 260, 261, 263, 264, 267, 268, 269, 271, 272, 274], "excluded_lines": [], "start_line": 241}, "get_export_formats": {"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": [288], "excluded_lines": [], "start_line": 284}, "preview_export": {"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": [318, 319, 320, 321, 324, 325, 326, 329, 331, 332, 335, 341, 343, 344, 347, 348, 349, 350, 351, 352, 355, 356, 359, 363], "excluded_lines": [], "start_line": 311}, "": {"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": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 24, 25, 28, 29, 32, 35, 36, 37, 38, 39, 40, 43, 44, 238, 241, 281, 284, 310, 311], "excluded_lines": [], "start_line": 1}}, "classes": {"ExportRequest": {"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": 21}, "ExportResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 144, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 144, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 24, 25, 28, 29, 32, 35, 36, 37, 38, 39, 40, 43, 44, 55, 56, 57, 58, 61, 62, 63, 66, 68, 69, 72, 73, 76, 77, 79, 93, 115, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127, 129, 132, 134, 143, 145, 147, 148, 150, 153, 154, 155, 157, 158, 160, 163, 166, 167, 171, 172, 175, 176, 178, 190, 192, 195, 200, 201, 204, 205, 209, 210, 214, 215, 218, 219, 221, 230, 231, 233, 238, 241, 249, 250, 251, 252, 255, 256, 257, 260, 261, 263, 264, 267, 268, 269, 271, 272, 274, 281, 284, 288, 310, 311, 318, 319, 320, 321, 324, 325, 326, 329, 331, 332, 335, 341, 343, 344, 347, 348, 349, 350, 351, 352, 355, 356, 359, 363], "excluded_lines": [], "start_line": 1}}}, "src/api/behavior_files.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 9, 13, 16, 17, 20, 23, 26, 29, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 55, 58, 63, 73, 74, 75, 76, 79, 80, 81, 84, 86, 87, 90, 92, 93, 94, 97, 98, 99, 105, 108, 109, 118, 121, 123, 124, 125, 126, 134, 135, 138, 141, 147, 148, 149, 150, 152, 153, 154, 156, 167, 172, 182, 183, 184, 185, 188, 189, 190, 193, 194, 195, 197, 208, 214, 224, 225, 226, 227, 230, 231, 232, 235, 236, 243, 244, 246, 247, 248, 250, 254, 265, 266, 274, 275, 276, 277, 280, 281, 282, 285, 288, 293, 303, 304, 305, 306, 309, 310, 311, 314, 316], "excluded_lines": [], "functions": {"get_conversion_behavior_files": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [73, 74, 75, 76, 79, 80, 81, 84, 86, 87, 90, 92, 93, 94, 97, 98, 99, 105, 108, 109, 118], "excluded_lines": [], "start_line": 63}, "dict_to_tree_nodes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [123, 124, 125, 126, 134, 135], "excluded_lines": [], "start_line": 121}, "get_behavior_file": {"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": [147, 148, 149, 150, 152, 153, 154, 156], "excluded_lines": [], "start_line": 141}, "update_behavior_file": {"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": [182, 183, 184, 185, 188, 189, 190, 193, 194, 195, 197], "excluded_lines": [], "start_line": 172}, "create_behavior_file": {"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": [224, 225, 226, 227, 230, 231, 232, 235, 236, 243, 244, 246, 247, 248, 250, 254], "excluded_lines": [], "start_line": 214}, "delete_behavior_file": {"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": [274, 275, 276, 277, 280, 281, 282, 285], "excluded_lines": [], "start_line": 266}, "get_behavior_files_by_type": {"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": [303, 304, 305, 306, 309, 310, 311, 314, 316], "excluded_lines": [], "start_line": 293}, "": {"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": [1, 2, 3, 4, 5, 6, 7, 9, 13, 16, 17, 20, 23, 26, 29, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 55, 58, 63, 121, 138, 141, 167, 172, 208, 214, 265, 266, 288, 293], "excluded_lines": [], "start_line": 1}}, "classes": {"BehaviorFileCreate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "BehaviorFileUpdate": {"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}, "BehaviorFileResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "BehaviorFileTreeNode": {"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": 41}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 122, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 122, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 9, 13, 16, 17, 20, 23, 26, 29, 32, 33, 34, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 55, 58, 63, 73, 74, 75, 76, 79, 80, 81, 84, 86, 87, 90, 92, 93, 94, 97, 98, 99, 105, 108, 109, 118, 121, 123, 124, 125, 126, 134, 135, 138, 141, 147, 148, 149, 150, 152, 153, 154, 156, 167, 172, 182, 183, 184, 185, 188, 189, 190, 193, 194, 195, 197, 208, 214, 224, 225, 226, 227, 230, 231, 232, 235, 236, 243, 244, 246, 247, 248, 250, 254, 265, 266, 274, 275, 276, 277, 280, 281, 282, 285, 288, 293, 303, 304, 305, 306, 309, 310, 311, 314, 316], "excluded_lines": [], "start_line": 1}}}, "src/api/behavior_templates.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 134, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 134, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 17, 18, 19, 23, 27, 30, 31, 32, 35, 38, 39, 40, 41, 42, 43, 44, 45, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 71, 75, 115, 120, 126, 129, 134, 151, 152, 153, 156, 167, 186, 191, 198, 199, 200, 201, 203, 204, 205, 207, 223, 229, 240, 241, 242, 248, 249, 261, 262, 263, 264, 265, 266, 268, 284, 289, 297, 298, 299, 300, 303, 304, 305, 308, 309, 310, 311, 317, 318, 321, 322, 323, 324, 325, 326, 328, 344, 345, 352, 353, 354, 355, 358, 359, 360, 363, 366, 371, 382, 383, 384, 385, 388, 389, 390, 393, 395, 396, 397, 400, 401, 407, 408, 410, 421, 426, 432, 510], "excluded_lines": [], "functions": {"get_template_categories": {"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": [126], "excluded_lines": [], "start_line": 120}, "get_behavior_templates": {"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": [151, 152, 153, 156, 167], "excluded_lines": [], "start_line": 134}, "get_behavior_template": {"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": [198, 199, 200, 201, 203, 204, 205, 207], "excluded_lines": [], "start_line": 191}, "create_behavior_template": {"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": [240, 241, 242, 248, 249, 261, 262, 263, 264, 265, 266, 268], "excluded_lines": [], "start_line": 229}, "update_behavior_template": {"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": [297, 298, 299, 300, 303, 304, 305, 308, 309, 310, 311, 317, 318, 321, 322, 323, 324, 325, 326, 328], "excluded_lines": [], "start_line": 289}, "delete_behavior_template": {"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": [352, 353, 354, 355, 358, 359, 360, 363], "excluded_lines": [], "start_line": 345}, "apply_behavior_template": {"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": [382, 383, 384, 385, 388, 389, 390, 393, 395, 396, 397, 400, 401, 407, 408, 410], "excluded_lines": [], "start_line": 371}, "get_predefined_templates": {"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": [432, 510], "excluded_lines": [], "start_line": 426}, "": {"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": [1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 17, 18, 19, 23, 27, 30, 31, 32, 35, 38, 39, 40, 41, 42, 43, 44, 45, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 71, 75, 115, 120, 129, 134, 186, 191, 223, 229, 284, 289, 344, 345, 366, 371, 421, 426], "excluded_lines": [], "start_line": 1}}, "classes": {"BehaviorTemplateCreate": {"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": 14}, "BehaviorTemplateUpdate": {"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": 35}, "BehaviorTemplateResponse": {"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": 48}, "BehaviorTemplateCategory": {"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": 65}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 134, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 134, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 17, 18, 19, 23, 27, 30, 31, 32, 35, 38, 39, 40, 41, 42, 43, 44, 45, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 71, 75, 115, 120, 126, 129, 134, 151, 152, 153, 156, 167, 186, 191, 198, 199, 200, 201, 203, 204, 205, 207, 223, 229, 240, 241, 242, 248, 249, 261, 262, 263, 264, 265, 266, 268, 284, 289, 297, 298, 299, 300, 303, 304, 305, 308, 309, 310, 311, 317, 318, 321, 322, 323, 324, 325, 326, 328, 344, 345, 352, 353, 354, 355, 358, 359, 360, 363, 366, 371, 382, 383, 384, 385, 388, 389, 390, 393, 395, 396, 397, 400, 401, 407, 408, 410, 421, 426, 432, 510], "excluded_lines": [], "start_line": 1}}}, "src/api/behavioral_testing.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 16, 17, 18, 20, 21, 22, 24, 25, 28, 29, 32, 35, 36, 37, 38, 39, 42, 45, 48, 49, 50, 51, 52, 57, 60, 61, 62, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 89, 90, 91, 92, 93, 96, 97, 110, 111, 114, 115, 122, 131, 135, 146, 147, 148, 150, 153, 154, 164, 167, 178, 179, 180, 183, 184, 194, 196, 216, 217, 218, 220, 225, 226, 237, 238, 239, 242, 253, 255, 256, 257, 259, 262, 263, 273, 275, 276, 278, 279, 280, 282, 285, 298, 299, 302, 305, 308, 310, 311], "excluded_lines": [], "functions": {"create_behavioral_test": {"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": [110, 111, 114, 115, 122, 131, 135, 146, 147, 148, 150], "excluded_lines": [], "start_line": 97}, "get_behavioral_test": {"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": [164, 167, 178, 179, 180], "excluded_lines": [], "start_line": 154}, "get_test_scenarios": {"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": [194, 196, 216, 217, 218, 220], "excluded_lines": [], "start_line": 184}, "get_test_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": [237, 238, 239, 242, 253, 255, 256, 257, 259], "excluded_lines": [], "start_line": 226}, "delete_behavioral_test": {"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": [273, 275, 276, 278, 279, 280, 282], "excluded_lines": [], "start_line": 263}, "execute_behavioral_test_async": {"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": [298, 299, 302, 305, 308, 310, 311], "excluded_lines": [], "start_line": 285}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 16, 17, 18, 20, 21, 22, 24, 25, 28, 29, 32, 35, 36, 37, 38, 39, 42, 45, 48, 49, 50, 51, 52, 57, 60, 61, 62, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 89, 90, 91, 92, 93, 96, 97, 153, 154, 183, 184, 225, 226, 262, 263, 285], "excluded_lines": [], "start_line": 1}}, "classes": {"TestScenario": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "ExpectedBehavior": {"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": 42}, "BehavioralTestRequest": {"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": 57}, "BehavioralTestResponse": {"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": 70}, "TestScenarioResult": {"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": 84}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 16, 17, 18, 20, 21, 22, 24, 25, 28, 29, 32, 35, 36, 37, 38, 39, 42, 45, 48, 49, 50, 51, 52, 57, 60, 61, 62, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 89, 90, 91, 92, 93, 96, 97, 110, 111, 114, 115, 122, 131, 135, 146, 147, 148, 150, 153, 154, 164, 167, 178, 179, 180, 183, 184, 194, 196, 216, 217, 218, 220, 225, 226, 237, 238, 239, 242, 253, 255, 256, 257, 259, 262, 263, 273, 275, 276, 278, 279, 280, 282, 285, 298, 299, 302, 305, 308, 310, 311], "excluded_lines": [], "start_line": 1}}}, "src/api/build_performance.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 76, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 76, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 14, 16, 26, 36, 39, 40, 47, 48, 55, 61, 62, 65, 66, 72, 73, 81, 82, 84, 85, 88, 89, 93, 94, 96, 97, 99, 100, 103, 104, 113, 114, 121, 122, 124, 125, 128, 129, 135, 136, 143, 144, 146, 147, 150, 151, 155, 157, 158, 160, 163, 164, 175, 177, 178, 180, 183, 184, 194, 195, 197, 198, 200, 203, 204, 217, 220, 221, 227, 240, 241, 249, 250, 254], "excluded_lines": [], "functions": {"start_performance_tracking": {"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": [47, 48, 55, 61, 62], "excluded_lines": [], "start_line": 40}, "update_stage": {"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": [72, 73, 81, 82, 84, 85], "excluded_lines": [], "start_line": 66}, "start_stage": {"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": [93, 94, 96, 97, 99, 100], "excluded_lines": [], "start_line": 89}, "complete_stage": {"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": [113, 114, 121, 122, 124, 125], "excluded_lines": [], "start_line": 104}, "end_performance_tracking": {"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": [135, 136, 143, 144, 146, 147], "excluded_lines": [], "start_line": 129}, "get_build_performance_endpoint": {"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": [155, 157, 158, 160], "excluded_lines": [], "start_line": 151}, "get_build_snapshot": {"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": [175, 177, 178, 180], "excluded_lines": [], "start_line": 164}, "get_build_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": [194, 195, 197, 198, 200], "excluded_lines": [], "start_line": 184}, "get_performance_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [217], "excluded_lines": [], "start_line": 204}, "get_available_stages": {"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": [227], "excluded_lines": [], "start_line": 221}, "list_builds": {"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": [249, 250, 254], "excluded_lines": [], "start_line": 241}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 14, 16, 26, 36, 39, 40, 65, 66, 88, 89, 103, 104, 128, 129, 150, 151, 163, 164, 183, 184, 203, 204, 220, 221, 240, 241], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 76, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 76, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 14, 16, 26, 36, 39, 40, 47, 48, 55, 61, 62, 65, 66, 72, 73, 81, 82, 84, 85, 88, 89, 93, 94, 96, 97, 99, 100, 103, 104, 113, 114, 121, 122, 124, 125, 128, 129, 135, 136, 143, 144, 146, 147, 150, 151, 155, 157, 158, 160, 163, 164, 175, 177, 178, 180, 183, 184, 194, 195, 197, 198, 200, 203, 204, 217, 220, 221, 227, 240, 241, 249, 250, 254], "excluded_lines": [], "start_line": 1}}}, "src/api/comparison.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 132, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 132, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 15, 18, 19, 20, 23, 24, 25, 26, 27, 29, 30, 34, 36, 37, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 82, 83, 86, 87, 88, 92, 97, 99, 102, 103, 104, 105, 108, 109, 110, 113, 114, 118, 119, 121, 122, 123, 124, 129, 130, 131, 137, 142, 143, 144, 146, 147, 148, 149, 150, 154, 156, 157, 158, 159, 160, 164, 166, 167, 168, 169, 170, 176, 185, 186, 187, 194, 196, 197, 198, 199, 203, 204, 207, 209, 211, 217, 218, 219, 220, 221, 222, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 237, 238, 241, 242, 243, 244, 246, 251, 252, 254, 255, 257, 258, 259, 260, 274], "excluded_lines": [], "functions": {"create_comparison": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [118, 119, 121, 122, 123, 124, 129, 130, 131, 137, 142, 143, 144, 146, 147, 148, 149, 150, 154, 156, 157, 158, 159, 160, 164, 166, 167, 168, 169, 170, 176, 185, 186, 187, 194, 196, 197, 198, 199, 203, 204, 207, 209, 211], "excluded_lines": [], "start_line": 114}, "get_comparison_result": {"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": [241, 242, 243, 244, 246, 251, 252, 254, 255, 257, 258, 259, 260, 274], "excluded_lines": [], "start_line": 238}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 15, 18, 19, 20, 23, 24, 25, 26, 27, 29, 30, 34, 36, 37, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 82, 83, 86, 87, 88, 92, 97, 99, 102, 103, 104, 105, 108, 109, 110, 113, 114, 217, 218, 219, 220, 221, 222, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 237, 238], "excluded_lines": [], "start_line": 1}}, "classes": {"CreateComparisonRequest": {"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": 102}, "ComparisonResponse": {"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": 108}, "FeatureMappingResponse": {"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": 217}, "ComparisonResultResponse": {"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": 225}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 132, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 132, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 15, 18, 19, 20, 23, 24, 25, 26, 27, 29, 30, 34, 36, 37, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 82, 83, 86, 87, 88, 92, 97, 99, 102, 103, 104, 105, 108, 109, 110, 113, 114, 118, 119, 121, 122, 123, 124, 129, 130, 131, 137, 142, 143, 144, 146, 147, 148, 149, 150, 154, 156, 157, 158, 159, 160, 164, 166, 167, 168, 169, 170, 176, 185, 186, 187, 194, 196, 197, 198, 199, 203, 204, 207, 209, 211, 217, 218, 219, 220, 221, 222, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 237, 238, 241, 242, 243, 244, 246, 251, 252, 254, 255, 257, 258, 259, 260, 274], "excluded_lines": [], "start_line": 1}}}, "src/api/conversions.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 392, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 392, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 17, 18, 19, 20, 22, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 51, 53, 56, 57, 58, 59, 60, 63, 66, 69, 72, 73, 74, 78, 81, 85, 90, 91, 92, 93, 94, 95, 98, 101, 104, 107, 108, 109, 112, 118, 121, 122, 123, 124, 125, 126, 127, 128, 129, 132, 135, 136, 137, 138, 142, 145, 146, 147, 148, 149, 152, 155, 156, 157, 158, 159, 162, 165, 166, 167, 168, 169, 173, 184, 188, 189, 192, 193, 197, 200, 201, 205, 206, 208, 211, 224, 226, 229, 230, 231, 234, 237, 247, 249, 250, 255, 258, 269, 270, 271, 273, 274, 276, 279, 299, 300, 302, 303, 304, 309, 310, 313, 316, 333, 334, 335, 338, 339, 340, 343, 346, 348, 352, 353, 383, 385, 387, 399, 401, 402, 404, 405, 406, 407, 409, 410, 412, 416, 422, 466, 467, 473, 476, 477, 478, 484, 485, 486, 492, 493, 495, 496, 497, 498, 499, 502, 503, 504, 505, 508, 511, 512, 513, 514, 515, 518, 519, 520, 524, 526, 527, 528, 529, 531, 532, 533, 534, 539, 542, 543, 552, 553, 555, 556, 558, 559, 560, 568, 569, 581, 584, 585, 586, 594, 596, 598, 601, 610, 612, 620, 625, 655, 656, 657, 660, 661, 662, 668, 669, 671, 672, 675, 685, 687, 700, 702, 705, 710, 737, 740, 741, 744, 745, 746, 747, 750, 751, 752, 753, 755, 756, 758, 772, 780, 785, 798, 799, 800, 806, 807, 818, 822, 825, 829, 844, 845, 846, 851, 852, 859, 861, 862, 864, 865, 866, 867, 868, 870, 871, 877, 878, 879, 881, 889, 894, 925, 926, 932, 933, 934, 935, 941, 944, 953, 956, 957, 959, 968, 973, 998, 1000, 1002, 1003, 1008, 1009, 1015, 1016, 1017, 1023, 1024, 1027, 1030, 1031, 1032, 1037, 1040, 1041, 1043, 1044, 1047, 1048, 1049, 1052, 1054, 1063, 1068, 1083, 1084, 1086, 1087, 1091, 1092, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1103, 1112, 1117, 1127, 1129, 1131, 1132, 1136, 1137, 1142, 1143, 1144, 1147, 1148, 1149, 1150, 1152, 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1165, 1166, 1167, 1173, 1174, 1175, 1179, 1181, 1182, 1183, 1184, 1186, 1189, 1190, 1193, 1202, 1205, 1214, 1217, 1219, 1226, 1227, 1229, 1230, 1231, 1232, 1238, 1243, 1249, 1250, 1252, 1253, 1258, 1259, 1262, 1263, 1265], "excluded_lines": [], "functions": {"get_security_scanner": {"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": [72, 73, 74], "excluded_lines": [], "start_line": 69}, "ConversionOptions.validate_assumptions": {"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": [93, 94, 95], "excluded_lines": [], "start_line": 92}, "sanitize_filename": {"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": [184, 188, 189, 192, 193, 197, 200, 201, 205, 206, 208], "excluded_lines": [], "start_line": 173}, "validate_path_safe": {"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": [224, 226, 229, 230, 231, 234], "excluded_lines": [], "start_line": 211}, "validate_file_type": {"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": [247, 249, 250, 255], "excluded_lines": [], "start_line": 237}, "validate_file_size": {"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": [269, 270, 271, 273, 274, 276], "excluded_lines": [], "start_line": 258}, "scan_uploaded_file": {"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": [299, 300, 302, 303, 304, 309, 310, 313], "excluded_lines": [], "start_line": 279}, "validate_and_scan_file": {"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": [333, 334, 335, 338, 339, 340, 343, 346, 348], "excluded_lines": [], "start_line": 316}, "websocket_conversion_progress": {"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": [383, 385, 387, 399, 401, 402, 404, 405, 406, 407, 409, 410, 412], "excluded_lines": [], "start_line": 353}, "create_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [466, 467, 473, 476, 477, 478, 484, 485, 486, 492, 493, 495, 496, 497, 498, 499, 502, 503, 504, 505, 508, 511, 512, 513, 514, 515, 518, 519, 520, 524, 526, 527, 528, 529, 531, 532, 533, 534, 539, 542, 543, 552, 553, 555, 556, 558, 559, 560, 568, 569, 581, 584, 585, 586, 594, 596, 598, 601, 610, 612], "excluded_lines": [], "start_line": 422}, "get_conversion": {"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": [655, 656, 657, 660, 661, 662, 668, 669, 671, 672, 675, 685, 687, 700, 702], "excluded_lines": [], "start_line": 625}, "list_conversions": {"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": [737, 740, 741, 744, 745, 746, 747, 750, 751, 752, 753, 755, 756, 758, 772], "excluded_lines": [], "start_line": 710}, "delete_conversion": {"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": [798, 799, 800, 806, 807, 818, 822], "excluded_lines": [], "start_line": 785}, "download_conversion": {"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": [844, 845, 846, 851, 852, 859, 861, 862, 864, 865, 866, 867, 868, 870, 871, 877, 878, 879, 881], "excluded_lines": [], "start_line": 829}, "init_chunked_upload": {"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": [925, 926, 932, 933, 934, 935, 941, 944, 953, 956, 957, 959], "excluded_lines": [], "start_line": 894}, "upload_chunk": {"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": [998, 1000, 1002, 1003, 1008, 1009, 1015, 1016, 1017, 1023, 1024, 1027, 1030, 1031, 1032, 1037, 1040, 1041, 1043, 1044, 1047, 1048, 1049, 1052, 1054], "excluded_lines": [], "start_line": 973}, "get_upload_progress": {"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": [1083, 1084, 1086, 1087, 1091, 1092, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1103], "excluded_lines": [], "start_line": 1068}, "complete_chunked_upload": {"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": [1127, 1129, 1131, 1132, 1136, 1137, 1142, 1143, 1144, 1147, 1148, 1149, 1150, 1152, 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1165, 1166, 1167, 1173, 1174, 1175, 1179, 1181, 1182, 1183, 1184, 1186, 1189, 1190, 1193, 1202, 1205, 1214, 1217, 1219, 1226, 1227, 1229, 1230, 1231, 1232], "excluded_lines": [], "start_line": 1117}, "cancel_upload": {"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": [1249, 1250, 1252, 1253, 1258, 1259, 1262, 1263, 1265], "excluded_lines": [], "start_line": 1243}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 17, 18, 19, 20, 22, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 51, 53, 56, 57, 58, 59, 60, 63, 66, 69, 78, 81, 85, 90, 91, 92, 98, 101, 104, 107, 108, 109, 112, 118, 121, 122, 123, 124, 125, 126, 127, 128, 129, 132, 135, 136, 137, 138, 142, 145, 146, 147, 148, 149, 152, 155, 156, 157, 158, 159, 162, 165, 166, 167, 168, 169, 173, 211, 237, 258, 279, 316, 352, 353, 416, 422, 620, 625, 705, 710, 780, 785, 825, 829, 889, 894, 968, 973, 1063, 1068, 1112, 1117, 1238, 1243], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionOptions": {"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": [93, 94, 95], "excluded_lines": [], "start_line": 78}, "ConversionCreateRequest": {"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": 98}, "ConversionCreateResponse": {"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": 104}, "ConversionStatusResponse": {"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": 118}, "ConversionListResponse": {"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": 132}, "ChunkUploadInitResponse": {"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": 142}, "ChunkUploadResponse": {"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": 152}, "UploadProgressResponse": {"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": 162}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 389, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 389, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 17, 18, 19, 20, 22, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 51, 53, 56, 57, 58, 59, 60, 63, 66, 69, 72, 73, 74, 78, 81, 85, 90, 91, 92, 98, 101, 104, 107, 108, 109, 112, 118, 121, 122, 123, 124, 125, 126, 127, 128, 129, 132, 135, 136, 137, 138, 142, 145, 146, 147, 148, 149, 152, 155, 156, 157, 158, 159, 162, 165, 166, 167, 168, 169, 173, 184, 188, 189, 192, 193, 197, 200, 201, 205, 206, 208, 211, 224, 226, 229, 230, 231, 234, 237, 247, 249, 250, 255, 258, 269, 270, 271, 273, 274, 276, 279, 299, 300, 302, 303, 304, 309, 310, 313, 316, 333, 334, 335, 338, 339, 340, 343, 346, 348, 352, 353, 383, 385, 387, 399, 401, 402, 404, 405, 406, 407, 409, 410, 412, 416, 422, 466, 467, 473, 476, 477, 478, 484, 485, 486, 492, 493, 495, 496, 497, 498, 499, 502, 503, 504, 505, 508, 511, 512, 513, 514, 515, 518, 519, 520, 524, 526, 527, 528, 529, 531, 532, 533, 534, 539, 542, 543, 552, 553, 555, 556, 558, 559, 560, 568, 569, 581, 584, 585, 586, 594, 596, 598, 601, 610, 612, 620, 625, 655, 656, 657, 660, 661, 662, 668, 669, 671, 672, 675, 685, 687, 700, 702, 705, 710, 737, 740, 741, 744, 745, 746, 747, 750, 751, 752, 753, 755, 756, 758, 772, 780, 785, 798, 799, 800, 806, 807, 818, 822, 825, 829, 844, 845, 846, 851, 852, 859, 861, 862, 864, 865, 866, 867, 868, 870, 871, 877, 878, 879, 881, 889, 894, 925, 926, 932, 933, 934, 935, 941, 944, 953, 956, 957, 959, 968, 973, 998, 1000, 1002, 1003, 1008, 1009, 1015, 1016, 1017, 1023, 1024, 1027, 1030, 1031, 1032, 1037, 1040, 1041, 1043, 1044, 1047, 1048, 1049, 1052, 1054, 1063, 1068, 1083, 1084, 1086, 1087, 1091, 1092, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1103, 1112, 1117, 1127, 1129, 1131, 1132, 1136, 1137, 1142, 1143, 1144, 1147, 1148, 1149, 1150, 1152, 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1165, 1166, 1167, 1173, 1174, 1175, 1179, 1181, 1182, 1183, 1184, 1186, 1189, 1190, 1193, 1202, 1205, 1214, 1217, 1219, 1226, 1227, 1229, 1230, 1231, 1232, 1238, 1243, 1249, 1250, 1252, 1253, 1258, 1259, 1262, 1263, 1265], "excluded_lines": [], "start_line": 1}}}, "src/api/email_verification.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 23, 26, 27, 30, 33, 34, 37, 40, 43, 46, 49, 50, 61, 64, 66, 67, 69, 70, 71, 77, 78, 81, 82, 85, 93, 94, 95, 98, 99, 101, 111, 113, 115, 121, 122, 133, 136, 142, 144, 145, 151, 152, 153, 155, 157, 159, 165, 166, 177, 180, 186, 188, 190, 195, 197, 202, 203, 205, 206, 208, 211, 212, 214, 224, 226, 228], "excluded_lines": [], "functions": {"register_with_verification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61, 64, 66, 67, 69, 70, 71, 77, 78, 81, 82, 85, 93, 94, 95, 98, 99, 101, 111, 113, 115], "excluded_lines": [], "start_line": 50}, "verify_email": {"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": [133, 136, 142, 144, 145, 151, 152, 153, 155, 157, 159], "excluded_lines": [], "start_line": 122}, "resend_verification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [177, 180, 186, 188, 190, 195, 197, 202, 203, 205, 206, 208, 211, 212, 214, 224, 226, 228], "excluded_lines": [], "start_line": 166}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 23, 26, 27, 30, 33, 34, 37, 40, 43, 46, 49, 50, 121, 122, 165, 166], "excluded_lines": [], "start_line": 1}}, "classes": {"RegisterWithVerificationRequest": {"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}, "RegisterWithVerificationResponse": {"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": 30}, "ResendVerificationRequest": {"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": 37}, "ResendVerificationResponse": {"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": 43}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 23, 26, 27, 30, 33, 34, 37, 40, 43, 46, 49, 50, 61, 64, 66, 67, 69, 70, 71, 77, 78, 81, 82, 85, 93, 94, 95, 98, 99, 101, 111, 113, 115, 121, 122, 133, 136, 142, 144, 145, 151, 152, 153, 155, 157, 159, 165, 166, 177, 180, 186, 188, 190, 195, 197, 202, 203, 205, 206, 208, 211, 212, 214, 224, 226, 228], "excluded_lines": [], "start_line": 1}}}, "src/api/embeddings.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 354, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 354, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 5, 7, 9, 10, 12, 13, 15, 16, 17, 20, 34, 35, 38, 43, 62, 65, 66, 67, 71, 74, 79, 85, 90, 91, 97, 98, 103, 108, 109, 112, 116, 121, 147, 148, 151, 155, 156, 158, 159, 165, 168, 169, 170, 171, 174, 175, 176, 179, 182, 183, 184, 185, 187, 192, 194, 195, 196, 200, 201, 202, 220, 222, 223, 225, 228, 229, 231, 232, 234, 237, 242, 267, 269, 272, 279, 280, 283, 289, 290, 296, 299, 301, 302, 305, 306, 307, 320, 321, 322, 324, 334, 342, 348, 354, 355, 356, 360, 361, 362, 368, 372, 381, 382, 383, 384, 389, 391, 392, 398, 399, 400, 401, 414, 423, 427, 434, 435, 436, 437, 442, 445, 446, 447, 448, 461, 469, 472, 473, 474, 477, 481, 484, 487, 490, 493, 496, 499, 500, 501, 502, 503, 504, 505, 506, 509, 512, 513, 514, 515, 516, 519, 520, 551, 552, 553, 555, 558, 559, 560, 565, 567, 571, 572, 575, 578, 579, 581, 582, 583, 585, 587, 588, 589, 590, 591, 592, 595, 596, 597, 599, 600, 601, 602, 607, 610, 615, 622, 623, 624, 626, 630, 633, 634, 635, 636, 639, 640, 642, 644, 654, 657, 658, 659, 660, 663, 666, 668, 680, 683, 684, 685, 686, 687, 690, 692, 694, 695, 698, 700, 701, 702, 703, 704, 705, 706, 707, 708, 711, 713, 715, 722, 730, 731, 732, 736, 737, 738, 744, 745, 750, 758, 759, 760, 763, 766, 767, 768, 770, 773, 774, 776, 778, 779, 780, 783, 786, 787, 788, 790, 793, 794, 796, 798, 799, 800, 803, 806, 807, 808, 810, 813, 814, 816, 818, 819, 820, 823, 824, 850, 852, 853, 854, 855, 857, 859, 860, 861, 864, 865, 867, 870, 871, 873, 874, 876, 879, 880, 882, 884, 885, 886, 887, 890, 891, 896, 898, 899, 901, 902, 903, 917, 918, 920, 923, 924, 926, 928, 929, 931, 933, 936, 937, 939, 942, 945, 947, 948, 951, 953, 955, 963, 966, 968, 969, 972, 974, 977, 978, 979, 980, 981, 996, 999, 1016, 1019, 1026, 1027, 1029, 1042, 1043, 1044], "excluded_lines": [], "functions": {"create_or_get_embedding": {"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": [62, 65, 66, 67, 71, 74, 79, 85], "excluded_lines": [], "start_line": 43}, "search_similar_embeddings": {"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": [97, 98, 103, 108, 109, 112], "excluded_lines": [], "start_line": 91}, "generate_embeddings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [147, 148, 151, 155, 156, 158, 159, 165, 168, 169, 170, 171, 174, 175, 176, 179, 182, 183, 184, 185, 187, 192, 194, 195, 196, 200, 201, 202], "excluded_lines": [], "start_line": 121}, "_get_ai_engine_indexing": {"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": [222, 223, 225, 228, 229, 231, 232, 234], "excluded_lines": [], "start_line": 220}, "index_document": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [267, 269, 272, 279, 280, 283, 289, 290, 296, 299, 301, 302, 305, 306, 307, 320, 321, 322, 324, 334, 342, 348, 354, 355, 356, 360, 361, 362], "excluded_lines": [], "start_line": 242}, "get_document": {"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": [381, 382, 383, 384, 389, 391, 392, 398, 399, 400, 401, 414], "excluded_lines": [], "start_line": 372}, "get_document_chunks": {"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, 436, 437, 442, 445, 446, 447, 448, 461], "excluded_lines": [], "start_line": 427}, "hybrid_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 85, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 85, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [551, 552, 553, 555, 558, 559, 560, 565, 567, 571, 572, 575, 578, 579, 581, 582, 583, 585, 587, 588, 589, 590, 591, 592, 595, 596, 597, 599, 600, 601, 602, 607, 610, 615, 622, 623, 624, 626, 630, 633, 634, 635, 636, 639, 640, 642, 644, 654, 657, 658, 659, 660, 663, 666, 668, 680, 683, 684, 685, 686, 687, 690, 692, 694, 695, 698, 700, 701, 702, 703, 704, 705, 706, 707, 708, 711, 713, 715, 722, 730, 731, 732, 736, 737, 738], "excluded_lines": [], "start_line": 520}, "hybrid_search_legacy": {"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": [750], "excluded_lines": [], "start_line": 745}, "get_hybrid_engine": {"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": [766, 767, 768, 770, 773, 774, 776, 778, 779, 780], "excluded_lines": [], "start_line": 763}, "get_reranker": {"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": [786, 787, 788, 790, 793, 794, 796, 798, 799, 800], "excluded_lines": [], "start_line": 783}, "get_query_expander": {"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": [806, 807, 808, 810, 813, 814, 816, 818, 819, 820], "excluded_lines": [], "start_line": 803}, "search_similar_embeddings_enhanced": {"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": [850, 852, 853, 854, 855, 857, 859, 860, 861, 864, 865, 867, 870, 871, 873, 874, 876, 879, 880, 882, 884, 885, 886, 887, 890, 891, 896, 898, 899, 901, 902, 903, 917, 918, 920, 923, 924, 926, 928, 929, 931, 933, 936, 937, 939, 942, 945, 947, 948, 951, 953, 955, 963, 966, 968, 969, 972, 974, 977, 978, 979, 980, 981, 996, 999, 1016, 1019, 1026, 1027, 1029, 1042, 1043, 1044], "excluded_lines": [], "start_line": 824}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 5, 7, 9, 10, 12, 13, 15, 16, 17, 20, 34, 35, 38, 43, 90, 91, 116, 121, 220, 237, 242, 368, 372, 423, 427, 469, 472, 473, 474, 477, 481, 484, 487, 490, 493, 496, 499, 500, 501, 502, 503, 504, 505, 506, 509, 512, 513, 514, 515, 516, 519, 520, 744, 745, 758, 759, 760, 763, 783, 803, 823, 824], "excluded_lines": [], "start_line": 1}}, "classes": {"HybridSearchRequest": {"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": 469}, "HybridSearchResult": {"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": 496}, "HybridSearchResponse": {"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": 509}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 354, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 354, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 5, 7, 9, 10, 12, 13, 15, 16, 17, 20, 34, 35, 38, 43, 62, 65, 66, 67, 71, 74, 79, 85, 90, 91, 97, 98, 103, 108, 109, 112, 116, 121, 147, 148, 151, 155, 156, 158, 159, 165, 168, 169, 170, 171, 174, 175, 176, 179, 182, 183, 184, 185, 187, 192, 194, 195, 196, 200, 201, 202, 220, 222, 223, 225, 228, 229, 231, 232, 234, 237, 242, 267, 269, 272, 279, 280, 283, 289, 290, 296, 299, 301, 302, 305, 306, 307, 320, 321, 322, 324, 334, 342, 348, 354, 355, 356, 360, 361, 362, 368, 372, 381, 382, 383, 384, 389, 391, 392, 398, 399, 400, 401, 414, 423, 427, 434, 435, 436, 437, 442, 445, 446, 447, 448, 461, 469, 472, 473, 474, 477, 481, 484, 487, 490, 493, 496, 499, 500, 501, 502, 503, 504, 505, 506, 509, 512, 513, 514, 515, 516, 519, 520, 551, 552, 553, 555, 558, 559, 560, 565, 567, 571, 572, 575, 578, 579, 581, 582, 583, 585, 587, 588, 589, 590, 591, 592, 595, 596, 597, 599, 600, 601, 602, 607, 610, 615, 622, 623, 624, 626, 630, 633, 634, 635, 636, 639, 640, 642, 644, 654, 657, 658, 659, 660, 663, 666, 668, 680, 683, 684, 685, 686, 687, 690, 692, 694, 695, 698, 700, 701, 702, 703, 704, 705, 706, 707, 708, 711, 713, 715, 722, 730, 731, 732, 736, 737, 738, 744, 745, 750, 758, 759, 760, 763, 766, 767, 768, 770, 773, 774, 776, 778, 779, 780, 783, 786, 787, 788, 790, 793, 794, 796, 798, 799, 800, 803, 806, 807, 808, 810, 813, 814, 816, 818, 819, 820, 823, 824, 850, 852, 853, 854, 855, 857, 859, 860, 861, 864, 865, 867, 870, 871, 873, 874, 876, 879, 880, 882, 884, 885, 886, 887, 890, 891, 896, 898, 899, 901, 902, 903, 917, 918, 920, 923, 924, 926, 928, 929, 931, 933, 936, 937, 939, 942, 945, 947, 948, 951, 953, 955, 963, 966, 968, 969, 972, 974, 977, 978, 979, 980, 981, 996, 999, 1016, 1019, 1026, 1027, 1029, 1042, 1043, 1044], "excluded_lines": [], "start_line": 1}}}, "src/api/experiments.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 310, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 310, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 23, 24, 25, 26, 27, 29, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 92, 93, 94, 95, 96, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 116, 117, 119, 122, 123, 124, 128, 129, 138, 149, 150, 151, 154, 155, 164, 167, 168, 169, 170, 172, 173, 175, 189, 190, 191, 194, 195, 197, 199, 200, 201, 202, 204, 205, 206, 207, 209, 220, 221, 222, 223, 224, 227, 228, 232, 234, 235, 236, 237, 240, 241, 242, 243, 249, 250, 251, 255, 256, 257, 258, 260, 271, 282, 283, 284, 285, 286, 289, 290, 292, 294, 295, 296, 297, 299, 300, 301, 302, 304, 306, 307, 308, 309, 310, 311, 314, 315, 321, 323, 324, 325, 326, 328, 330, 331, 332, 334, 343, 353, 354, 355, 356, 357, 360, 364, 366, 368, 369, 370, 371, 373, 375, 376, 377, 379, 381, 394, 395, 396, 397, 398, 401, 405, 409, 411, 412, 413, 414, 415, 417, 419, 420, 421, 423, 424, 425, 428, 429, 431, 441, 442, 443, 444, 445, 448, 452, 459, 461, 462, 463, 464, 465, 467, 469, 470, 471, 473, 474, 475, 478, 479, 481, 490, 500, 501, 502, 503, 504, 507, 508, 512, 514, 515, 516, 517, 518, 520, 522, 523, 524, 526, 527, 528, 531, 532, 534, 536, 537, 538, 539, 540, 541, 544, 545, 549, 551, 552, 553, 554, 555, 558, 559, 561, 564, 566, 568, 569, 570, 572, 584, 596, 597, 598, 599, 600, 603, 604, 612, 617, 618, 619, 620, 622, 623, 624, 625, 626, 628, 629, 633, 648, 649, 650], "excluded_lines": [], "functions": {"create_experiment": {"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": [119, 122, 123, 124, 128, 129, 138, 149, 150, 151], "excluded_lines": [], "start_line": 117}, "list_experiments": {"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": [164, 167, 168, 169, 170, 172, 173, 175, 189, 190, 191], "excluded_lines": [], "start_line": 155}, "get_experiment": {"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": [197, 199, 200, 201, 202, 204, 205, 206, 207, 209, 220, 221, 222, 223, 224], "excluded_lines": [], "start_line": 195}, "update_experiment": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [232, 234, 235, 236, 237, 240, 241, 242, 243, 249, 250, 251, 255, 256, 257, 258, 260, 271, 282, 283, 284, 285, 286], "excluded_lines": [], "start_line": 228}, "delete_experiment": {"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": [292, 294, 295, 296, 297, 299, 300, 301, 302, 304, 306, 307, 308, 309, 310, 311], "excluded_lines": [], "start_line": 290}, "create_experiment_variant": {"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": [321, 323, 324, 325, 326, 328, 330, 331, 332, 334, 343, 353, 354, 355, 356, 357], "excluded_lines": [], "start_line": 315}, "list_experiment_variants": {"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": [366, 368, 369, 370, 371, 373, 375, 376, 377, 379, 381, 394, 395, 396, 397, 398], "excluded_lines": [], "start_line": 364}, "get_experiment_variant": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [409, 411, 412, 413, 414, 415, 417, 419, 420, 421, 423, 424, 425, 428, 429, 431, 441, 442, 443, 444, 445], "excluded_lines": [], "start_line": 405}, "update_experiment_variant": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [459, 461, 462, 463, 464, 465, 467, 469, 470, 471, 473, 474, 475, 478, 479, 481, 490, 500, 501, 502, 503, 504], "excluded_lines": [], "start_line": 452}, "delete_experiment_variant": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [512, 514, 515, 516, 517, 518, 520, 522, 523, 524, 526, 527, 528, 531, 532, 534, 536, 537, 538, 539, 540, 541], "excluded_lines": [], "start_line": 508}, "create_experiment_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [549, 551, 552, 553, 554, 555, 558, 559, 561, 564, 566, 568, 569, 570, 572, 584, 596, 597, 598, 599, 600], "excluded_lines": [], "start_line": 545}, "list_experiment_results": {"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": [612, 617, 618, 619, 620, 622, 623, 624, 625, 626, 628, 629, 633, 648, 649, 650], "excluded_lines": [], "start_line": 604}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 101, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 101, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 23, 24, 25, 26, 27, 29, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 92, 93, 94, 95, 96, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 116, 117, 154, 155, 194, 195, 227, 228, 289, 290, 314, 315, 360, 364, 401, 405, 448, 452, 507, 508, 544, 545, 603, 604], "excluded_lines": [], "start_line": 1}}, "classes": {"ExperimentCreate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "ExperimentUpdate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "ExperimentVariantCreate": {"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": 43}, "ExperimentVariantUpdate": {"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": 50}, "ExperimentResponse": {"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": 57}, "ExperimentVariantResponse": {"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": 73}, "ExperimentResultCreate": {"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": 88}, "ExperimentResultResponse": {"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": 99}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 310, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 310, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 22, 23, 24, 25, 26, 27, 29, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 92, 93, 94, 95, 96, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 116, 117, 119, 122, 123, 124, 128, 129, 138, 149, 150, 151, 154, 155, 164, 167, 168, 169, 170, 172, 173, 175, 189, 190, 191, 194, 195, 197, 199, 200, 201, 202, 204, 205, 206, 207, 209, 220, 221, 222, 223, 224, 227, 228, 232, 234, 235, 236, 237, 240, 241, 242, 243, 249, 250, 251, 255, 256, 257, 258, 260, 271, 282, 283, 284, 285, 286, 289, 290, 292, 294, 295, 296, 297, 299, 300, 301, 302, 304, 306, 307, 308, 309, 310, 311, 314, 315, 321, 323, 324, 325, 326, 328, 330, 331, 332, 334, 343, 353, 354, 355, 356, 357, 360, 364, 366, 368, 369, 370, 371, 373, 375, 376, 377, 379, 381, 394, 395, 396, 397, 398, 401, 405, 409, 411, 412, 413, 414, 415, 417, 419, 420, 421, 423, 424, 425, 428, 429, 431, 441, 442, 443, 444, 445, 448, 452, 459, 461, 462, 463, 464, 465, 467, 469, 470, 471, 473, 474, 475, 478, 479, 481, 490, 500, 501, 502, 503, 504, 507, 508, 512, 514, 515, 516, 517, 518, 520, 522, 523, 524, 526, 527, 528, 531, 532, 534, 536, 537, 538, 539, 540, 541, 544, 545, 549, 551, 552, 553, 554, 555, 558, 559, 561, 564, 566, 568, 569, 570, 572, 584, 596, 597, 598, 599, 600, 603, 604, 612, 617, 618, 619, 620, 622, 623, 624, 625, 626, 628, 629, 633, 648, 649, 650], "excluded_lines": [], "start_line": 1}}}, "src/api/feedback.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 351, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 351, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 20, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 88, 91, 92, 94, 97, 98, 99, 100, 101, 104, 105, 106, 112, 119, 120, 121, 122, 125, 126, 127, 128, 129, 132, 133, 134, 136, 137, 138, 141, 142, 145, 161, 179, 180, 187, 192, 193, 194, 195, 197, 198, 199, 200, 201, 203, 204, 206, 208, 232, 233, 242, 244, 247, 248, 250, 251, 254, 257, 258, 260, 261, 262, 263, 264, 267, 268, 270, 272, 273, 275, 276, 278, 285, 286, 288, 289, 290, 291, 292, 294, 297, 298, 300, 301, 304, 307, 308, 310, 311, 312, 313, 314, 318, 319, 321, 323, 325, 326, 327, 328, 329, 332, 333, 337, 340, 341, 343, 344, 345, 346, 347, 351, 352, 355, 362, 363, 368, 371, 375, 376, 379, 381, 383, 384, 390, 391, 392, 393, 394, 400, 401, 403, 404, 407, 408, 412, 419, 420, 421, 427, 430, 431, 433, 434, 435, 436, 437, 441, 442, 444, 447, 449, 451, 452, 453, 454, 455, 457, 463, 464, 465, 466, 467, 468, 469, 471, 487, 488, 489, 490, 491, 492, 493, 494, 495, 497, 500, 501, 502, 504, 512, 513, 514, 515, 516, 518, 521, 526, 530, 532, 534, 535, 536, 537, 539, 540, 541, 542, 545, 546, 547, 548, 549, 551, 552, 553, 554, 555, 556, 558, 567, 568, 569, 571, 585, 586, 595, 597, 599, 600, 601, 602, 604, 605, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 621, 622, 623, 625, 627, 628, 630, 631, 633, 647, 650, 651, 653, 655, 656, 657, 658, 660, 661, 662, 664, 665, 667, 681, 684, 688, 690, 691, 693, 694, 695, 696, 698, 699, 700, 702, 703, 705, 706, 707, 709, 710, 712, 714, 728, 729, 731, 733, 734, 735, 736, 738, 739, 740, 742, 743, 745, 746, 748, 749, 750, 752, 753, 755, 757], "excluded_lines": [], "functions": {"submit_feedback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [94, 97, 98, 99, 100, 101, 104, 105, 106, 112, 119, 120, 121, 122, 125, 126, 127, 128, 129, 132, 133, 134, 136, 137, 138, 141, 142, 145, 161], "excluded_lines": [], "start_line": 92}, "get_training_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [187, 192, 193, 194, 195, 197, 198, 199, 200, 201, 203, 204, 206, 208, 232, 233, 242, 244], "excluded_lines": [], "start_line": 180}, "trigger_rl_training": {"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": [250, 251, 254, 257, 258, 260, 261, 262, 263, 264, 267, 268, 270, 272, 273, 275, 276, 278, 285, 286, 288, 289, 290, 291, 292, 294], "excluded_lines": [], "start_line": 248}, "get_agent_performance": {"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": [300, 301, 304, 307, 308, 310, 311, 312, 313, 314, 318, 319, 321, 323, 325, 326, 327, 328, 329], "excluded_lines": [], "start_line": 298}, "get_specific_agent_performance": {"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": [337, 340, 341, 343, 344, 345, 346, 347, 351, 352, 355, 362, 363, 368, 371, 375, 376, 379, 381, 383, 384, 390, 391, 392, 393, 394], "excluded_lines": [], "start_line": 333}, "compare_agent_performance": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [403, 404, 407, 408, 412, 419, 420, 421, 427, 430, 431, 433, 434, 435, 436, 437, 441, 442, 444, 447, 449, 451, 452, 453, 454, 455, 457], "excluded_lines": [], "start_line": 401}, "submit_correction": {"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": [530, 532, 534, 535, 536, 537, 539, 540, 541, 542, 545, 546, 547, 548, 549, 551, 552, 553, 554, 555, 556, 558, 567, 568, 569, 571], "excluded_lines": [], "start_line": 526}, "list_corrections": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [595, 597, 599, 600, 601, 602, 604, 605, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 621, 622, 623, 625, 627, 628, 630, 631, 633, 647], "excluded_lines": [], "start_line": 586}, "get_correction": {"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": [653, 655, 656, 657, 658, 660, 661, 662, 664, 665, 667], "excluded_lines": [], "start_line": 651}, "review_correction": {"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": [688, 690, 691, 693, 694, 695, 696, 698, 699, 700, 702, 703, 705, 706, 707, 709, 710, 712, 714], "excluded_lines": [], "start_line": 684}, "apply_correction": {"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": [731, 733, 734, 735, 736, 738, 739, 740, 742, 743, 745, 746, 748, 749, 750, 752, 753, 755, 757], "excluded_lines": [], "start_line": 729}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 101, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 101, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 20, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 88, 91, 92, 179, 180, 247, 248, 297, 298, 332, 333, 400, 401, 463, 464, 465, 466, 467, 468, 469, 471, 487, 488, 489, 490, 491, 492, 493, 494, 495, 497, 500, 501, 502, 504, 512, 513, 514, 515, 516, 518, 521, 526, 585, 586, 650, 651, 681, 684, 728, 729], "excluded_lines": [], "start_line": 1}}, "classes": {"FeedbackRequest": {"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": 25}, "FeedbackResponse": {"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": 62}, "TrainingDataResponse": {"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": 79}, "CorrectionSubmissionRequest": {"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": 463}, "CorrectionSubmissionResponse": {"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": 487}, "CorrectionReviewRequest": {"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": 500}, "CorrectionListResponse": {"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": 512}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 351, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 351, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 20, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 88, 91, 92, 94, 97, 98, 99, 100, 101, 104, 105, 106, 112, 119, 120, 121, 122, 125, 126, 127, 128, 129, 132, 133, 134, 136, 137, 138, 141, 142, 145, 161, 179, 180, 187, 192, 193, 194, 195, 197, 198, 199, 200, 201, 203, 204, 206, 208, 232, 233, 242, 244, 247, 248, 250, 251, 254, 257, 258, 260, 261, 262, 263, 264, 267, 268, 270, 272, 273, 275, 276, 278, 285, 286, 288, 289, 290, 291, 292, 294, 297, 298, 300, 301, 304, 307, 308, 310, 311, 312, 313, 314, 318, 319, 321, 323, 325, 326, 327, 328, 329, 332, 333, 337, 340, 341, 343, 344, 345, 346, 347, 351, 352, 355, 362, 363, 368, 371, 375, 376, 379, 381, 383, 384, 390, 391, 392, 393, 394, 400, 401, 403, 404, 407, 408, 412, 419, 420, 421, 427, 430, 431, 433, 434, 435, 436, 437, 441, 442, 444, 447, 449, 451, 452, 453, 454, 455, 457, 463, 464, 465, 466, 467, 468, 469, 471, 487, 488, 489, 490, 491, 492, 493, 494, 495, 497, 500, 501, 502, 504, 512, 513, 514, 515, 516, 518, 521, 526, 530, 532, 534, 535, 536, 537, 539, 540, 541, 542, 545, 546, 547, 548, 549, 551, 552, 553, 554, 555, 556, 558, 567, 568, 569, 571, 585, 586, 595, 597, 599, 600, 601, 602, 604, 605, 607, 608, 609, 610, 611, 612, 613, 615, 616, 617, 618, 619, 621, 622, 623, 625, 627, 628, 630, 631, 633, 647, 650, 651, 653, 655, 656, 657, 658, 660, 661, 662, 664, 665, 667, 681, 684, 688, 690, 691, 693, 694, 695, 696, 698, 699, 700, 702, 703, 705, 706, 707, 709, 710, 712, 714, 728, 729, 731, 733, 734, 735, 736, 738, 739, 740, 742, 743, 745, 746, 748, 749, 750, 752, 753, 755, 757], "excluded_lines": [], "start_line": 1}}}, "src/api/feedback_collection.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 84, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 84, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 19, 21, 24, 27, 28, 29, 32, 33, 34, 37, 40, 41, 42, 45, 48, 49, 50, 53, 56, 57, 58, 59, 60, 61, 62, 63, 66, 69, 70, 71, 72, 73, 76, 77, 91, 97, 99, 100, 106, 109, 110, 117, 121, 128, 129, 140, 146, 148, 149, 155, 156, 163, 170, 171, 185, 187, 190, 192, 194, 204, 205, 219, 221, 223, 231, 232, 244, 247, 248, 259, 265, 267, 268, 274], "excluded_lines": [], "functions": {"submit_feedback": {"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": [91, 97, 99, 100, 106, 109, 110, 117, 121], "excluded_lines": [], "start_line": 77}, "rate_conversion": {"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": [140, 146, 148, 149, 155, 156, 163], "excluded_lines": [], "start_line": 129}, "submit_bug_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [185, 187, 190, 192, 194], "excluded_lines": [], "start_line": 171}, "submit_feature_request": {"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": [219, 221, 223], "excluded_lines": [], "start_line": 205}, "get_my_feedback": {"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": [244], "excluded_lines": [], "start_line": 232}, "get_conversion_feedback": {"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": [259, 265, 267, 268, 274], "excluded_lines": [], "start_line": 248}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 19, 21, 24, 27, 28, 29, 32, 33, 34, 37, 40, 41, 42, 45, 48, 49, 50, 53, 56, 57, 58, 59, 60, 61, 62, 63, 66, 69, 70, 71, 72, 73, 76, 77, 128, 129, 170, 171, 204, 205, 231, 232, 247, 248], "excluded_lines": [], "start_line": 1}}, "classes": {"FeedbackSubmitRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "FeedbackSubmitResponse": {"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": 37}, "ConversionRatingRequest": {"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": 45}, "BugReportRequest": {"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": 53}, "FeatureRequestRequest": {"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": 66}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 84, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 84, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 19, 21, 24, 27, 28, 29, 32, 33, 34, 37, 40, 41, 42, 45, 48, 49, 50, 53, 56, 57, 58, 59, 60, 61, 62, 63, 66, 69, 70, 71, 72, 73, 76, 77, 91, 97, 99, 100, 106, 109, 110, 117, 121, 128, 129, 140, 146, 148, 149, 155, 156, 163, 170, 171, 185, 187, 190, 192, 194, 204, 205, 219, 221, 223, 231, 232, 244, 247, 248, 259, 265, 267, 268, 274], "excluded_lines": [], "start_line": 1}}}, "src/api/health.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 13, 14, 15, 16, 17, 19, 20, 22, 24, 27, 30, 31, 32, 35, 38, 39, 40, 41, 45, 48, 52, 54, 55, 57, 58, 59, 61, 63, 69, 70, 71, 73, 81, 85, 87, 89, 90, 98, 100, 102, 108, 109, 110, 112, 120, 121, 132, 135, 136, 139, 140, 143, 145, 147, 148, 151, 153, 155, 171, 172, 185, 197, 198, 205], "excluded_lines": [], "functions": {"check_database_health": {"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": [52, 54, 55, 57, 58, 59, 61, 63, 69, 70, 71, 73], "excluded_lines": [], "start_line": 48}, "check_redis_health": {"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": [85, 87, 89, 90, 98, 100, 102, 108, 109, 110, 112], "excluded_lines": [], "start_line": 81}, "readiness_check": {"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": [132, 135, 136, 139, 140, 143, 145, 147, 148, 151, 153, 155], "excluded_lines": [], "start_line": 121}, "liveness_check": {"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": [185], "excluded_lines": [], "start_line": 172}, "basic_health_check": {"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": [205], "excluded_lines": [], "start_line": 198}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 13, 14, 15, 16, 17, 19, 20, 22, 24, 27, 30, 31, 32, 35, 38, 39, 40, 41, 45, 48, 81, 120, 121, 171, 172, 197, 198], "excluded_lines": [], "start_line": 1}}, "classes": {"HealthStatus": {"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}, "DependencyHealth": {"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": 35}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 13, 14, 15, 16, 17, 19, 20, 22, 24, 27, 30, 31, 32, 35, 38, 39, 40, 41, 45, 48, 52, 54, 55, 57, 58, 59, 61, 63, 69, 70, 71, 73, 81, 85, 87, 89, 90, 98, 100, 102, 108, 109, 110, 112, 120, 121, 132, 135, 136, 139, 140, 143, 145, 147, 148, 151, 153, 155, 171, 172, 185, 197, 198, 205], "excluded_lines": [], "start_line": 1}}}, "src/api/jobs.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 94, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 94, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 15, 23, 24, 25, 27, 28, 38, 41, 43, 49, 52, 55, 58, 61, 66, 69, 70, 71, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 93, 94, 95, 96, 99, 102, 103, 106, 109, 110, 116, 126, 127, 128, 130, 131, 133, 134, 140, 141, 143, 144, 150, 153, 155, 161, 162, 176, 177, 178, 185, 192, 194, 200, 201, 215, 218, 235, 243, 244, 260, 262, 263, 268, 269, 273, 288, 289, 306, 308, 309, 314, 315, 320, 321, 326, 328, 329, 333, 337], "excluded_lines": [], "functions": {"get_current_user_id": {"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": [126, 127, 128, 130, 131, 133, 134, 140, 141, 143, 144, 150], "excluded_lines": [], "start_line": 116}, "get_job_manager_dep": {"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": [155], "excluded_lines": [], "start_line": 153}, "create_job": {"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": [176, 177, 178, 185, 192, 194], "excluded_lines": [], "start_line": 162}, "list_jobs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [215, 218, 235], "excluded_lines": [], "start_line": 201}, "get_job": {"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": [260, 262, 263, 268, 269, 273], "excluded_lines": [], "start_line": 244}, "cancel_job": {"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": [306, 308, 309, 314, 315, 320, 321, 326, 328, 329, 333], "excluded_lines": [], "start_line": 289}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 15, 23, 24, 25, 27, 28, 38, 41, 43, 49, 52, 55, 58, 61, 66, 69, 70, 71, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 93, 94, 95, 96, 99, 102, 103, 106, 109, 110, 116, 153, 161, 162, 200, 201, 243, 244, 288, 289, 337], "excluded_lines": [], "start_line": 1}}, "classes": {"JobOptionsRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49}, "JobCreateRequest": {"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": 66}, "JobResponse": {"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": 74}, "JobListResponse": {"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": 90}, "JobCreateResponse": {"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": 99}, "JobDeleteResponse": {"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": 106}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 94, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 94, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 15, 23, 24, 25, 27, 28, 38, 41, 43, 49, 52, 55, 58, 61, 66, 69, 70, 71, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 93, 94, 95, 96, 99, 102, 103, 106, 109, 110, 116, 126, 127, 128, 130, 131, 133, 134, 140, 141, 143, 144, 150, 153, 155, 161, 162, 176, 177, 178, 185, 192, 194, 200, 201, 215, 218, 235, 243, 244, 260, 262, 263, 268, 269, 273, 288, 289, 306, 308, 309, 314, 315, 320, 321, 326, 328, 329, 333, 337], "excluded_lines": [], "start_line": 1}}}, "src/api/knowledge_base.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 291, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 291, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 21, 22, 30, 33, 34, 35, 38, 39, 40, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 64, 82, 85, 86, 89, 92, 95, 98, 99, 100, 101, 102, 103, 104, 105, 106, 114, 116, 120, 121, 123, 125, 128, 130, 134, 135, 137, 139, 147, 152, 161, 163, 166, 176, 186, 191, 193, 194, 198, 199, 200, 206, 210, 219, 220, 221, 222, 223, 224, 230, 234, 245, 247, 250, 258, 259, 267, 269, 271, 272, 276, 277, 278, 284, 288, 299, 301, 304, 311, 317, 321, 323, 324, 328, 329, 330, 336, 340, 351, 353, 356, 359, 367, 382, 383, 384, 390, 393, 394, 395, 396, 399, 402, 403, 406, 408, 412, 413, 415, 417, 420, 424, 443, 444, 446, 452, 465, 466, 467, 473, 477, 493, 494, 495, 497, 502, 509, 510, 511, 517, 521, 535, 536, 537, 539, 541, 543, 544, 545, 556, 559, 560, 563, 566, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 582, 585, 586, 589, 592, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 608, 611, 612, 613, 614, 617, 620, 621, 622, 625, 628, 629, 632, 637, 657, 658, 660, 662, 665, 666, 667, 670, 671, 673, 674, 676, 677, 683, 685, 688, 690, 704, 705, 706, 712, 717, 736, 737, 738, 740, 742, 745, 748, 749, 750, 753, 754, 756, 757, 759, 760, 766, 768, 771, 773, 787, 788, 792, 793, 794, 800, 804, 817, 818, 819, 822, 823, 824, 825, 826, 827, 828, 829, 832, 839, 842, 844, 858, 859, 860, 866, 870, 889, 890, 893, 894, 895, 898, 901, 907, 912, 913, 914], "excluded_lines": [], "functions": {"PatternSubmissionResponse.from_orm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [64], "excluded_lines": [], "start_line": 62}, "_get_community_manager": {"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": [116, 120, 121, 123, 125], "excluded_lines": [], "start_line": 114}, "_get_pattern_library": {"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": [130, 134, 135, 137, 139], "excluded_lines": [], "start_line": 128}, "submit_pattern": {"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": [161, 163, 166, 176, 186, 191, 193, 194, 198, 199, 200], "excluded_lines": [], "start_line": 152}, "get_pending_submissions": {"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": [219, 220, 221, 222, 223, 224], "excluded_lines": [], "start_line": 210}, "review_pattern": {"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": [245, 247, 250, 258, 259, 267, 269, 271, 272, 276, 277, 278], "excluded_lines": [], "start_line": 234}, "vote_on_pattern": {"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": [299, 301, 304, 311, 317, 321, 323, 324, 328, 329, 330], "excluded_lines": [], "start_line": 288}, "get_pattern_library": {"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": [351, 353, 356, 359, 367, 382, 383, 384], "excluded_lines": [], "start_line": 340}, "_get_cross_reference_detector": {"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": [408, 412, 413, 415, 417], "excluded_lines": [], "start_line": 406}, "get_related_chunks": {"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": [443, 444, 446, 452, 465, 466, 467], "excluded_lines": [], "start_line": 424}, "analyze_chunk_relationships": {"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": [493, 494, 495, 497, 502, 509, 510, 511], "excluded_lines": [], "start_line": 477}, "build_concept_graph": {"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": [535, 536, 537, 539, 541, 543, 544, 545], "excluded_lines": [], "start_line": 521}, "upload_texture_asset": {"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": [657, 658, 660, 662, 665, 666, 667, 670, 671, 673, 674, 676, 677, 683, 685, 688, 690, 704, 705, 706], "excluded_lines": [], "start_line": 637}, "upload_model_asset": {"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": [736, 737, 738, 740, 742, 745, 748, 749, 750, 753, 754, 756, 757, 759, 760, 766, 768, 771, 773, 787, 788, 792, 793, 794], "excluded_lines": [], "start_line": 717}, "search_multimodal": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [817, 818, 819, 822, 823, 824, 825, 826, 827, 828, 829, 832, 839, 842, 844, 858, 859, 860], "excluded_lines": [], "start_line": 804}, "get_related_across_modalities": {"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": [889, 890, 893, 894, 895, 898, 901, 907, 912, 913, 914], "excluded_lines": [], "start_line": 870}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 131, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 131, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 21, 22, 30, 33, 34, 35, 38, 39, 40, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 82, 85, 86, 89, 92, 95, 98, 99, 100, 101, 102, 103, 104, 105, 106, 114, 128, 147, 152, 206, 210, 230, 234, 284, 288, 336, 340, 390, 393, 394, 395, 396, 399, 402, 403, 406, 420, 424, 473, 477, 517, 521, 556, 559, 560, 563, 566, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 582, 585, 586, 589, 592, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 608, 611, 612, 613, 614, 617, 620, 621, 622, 625, 628, 629, 632, 637, 712, 717, 800, 804, 866, 870], "excluded_lines": [], "start_line": 1}}, "classes": {"PatternSubmitRequest": {"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": 30}, "PatternSubmissionResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [64], "excluded_lines": [], "start_line": 43}, "PatternReviewRequest": {"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": 82}, "PatternVoteRequest": {"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": 89}, "ConversionPatternResponse": {"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": 95}, "RelatedChunkResponse": {"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": 390}, "RelatedChunksResponse": {"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": 399}, "TextureUploadRequest": {"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": 556}, "TextureMetadataResponse": {"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": 566}, "ModelUploadRequest": {"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": 582}, "ModelMetadataResponse": {"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": 592}, "MultimodalSearchRequest": {"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": 608}, "MultimodalSearchResponse": {"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": 617}, "RelatedModalResponse": {"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": 625}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 290, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 290, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 21, 22, 30, 33, 34, 35, 38, 39, 40, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 82, 85, 86, 89, 92, 95, 98, 99, 100, 101, 102, 103, 104, 105, 106, 114, 116, 120, 121, 123, 125, 128, 130, 134, 135, 137, 139, 147, 152, 161, 163, 166, 176, 186, 191, 193, 194, 198, 199, 200, 206, 210, 219, 220, 221, 222, 223, 224, 230, 234, 245, 247, 250, 258, 259, 267, 269, 271, 272, 276, 277, 278, 284, 288, 299, 301, 304, 311, 317, 321, 323, 324, 328, 329, 330, 336, 340, 351, 353, 356, 359, 367, 382, 383, 384, 390, 393, 394, 395, 396, 399, 402, 403, 406, 408, 412, 413, 415, 417, 420, 424, 443, 444, 446, 452, 465, 466, 467, 473, 477, 493, 494, 495, 497, 502, 509, 510, 511, 517, 521, 535, 536, 537, 539, 541, 543, 544, 545, 556, 559, 560, 563, 566, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 582, 585, 586, 589, 592, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 608, 611, 612, 613, 614, 617, 620, 621, 622, 625, 628, 629, 632, 637, 657, 658, 660, 662, 665, 666, 667, 670, 671, 673, 674, 676, 677, 683, 685, 688, 690, 704, 705, 706, 712, 717, 736, 737, 738, 740, 742, 745, 748, 749, 750, 753, 754, 756, 757, 759, 760, 766, 768, 771, 773, 787, 788, 792, 793, 794, 800, 804, 817, 818, 819, 822, 823, 824, 825, 826, 827, 828, 829, 832, 839, 842, 844, 858, 859, 860, 866, 870, 889, 890, 893, 894, 895, 898, 901, 907, 912, 913, 914], "excluded_lines": [], "start_line": 1}}}, "src/api/mod_imports.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 223, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 223, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 20, 21, 24, 26, 32, 35, 36, 37, 40, 43, 44, 45, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 90, 93, 94, 97, 100, 101, 102, 103, 109, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 143, 144, 145, 146, 147, 154, 162, 164, 165, 167, 183, 185, 201, 203, 216, 218, 219, 221, 237, 238, 244, 245, 248, 249, 265, 267, 268, 270, 271, 272, 280, 281, 282, 283, 286, 295, 296, 297, 298, 300, 301, 302, 304, 307, 308, 315, 317, 318, 320, 321, 322, 323, 324, 327, 328, 330, 331, 332, 334, 337, 338, 346, 348, 349, 351, 352, 353, 354, 356, 357, 358, 359, 362, 366, 367, 368, 369, 371, 372, 373, 375, 378, 379, 385, 388, 390, 391, 395, 397, 399, 400, 401, 407, 408, 411, 412, 415, 416, 417, 423, 424, 427, 430, 433, 434, 437, 438, 439, 445, 446, 449, 451, 452, 457, 458, 459, 460, 462, 463, 464, 465, 466, 467, 469, 476, 477, 478, 483, 484, 488, 490, 491, 493, 494, 495, 496, 499, 500, 502, 503, 504, 506, 509, 510, 514, 515, 516, 517, 518, 519, 521], "excluded_lines": [], "functions": {"parse_mod_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 143, 144, 145, 146, 147, 154], "excluded_lines": [], "start_line": 109}, "transform_curseforge_mod": {"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": [164, 165, 167], "excluded_lines": [], "start_line": 162}, "transform_modrinth_mod": {"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": [185], "excluded_lines": [], "start_line": 183}, "transform_curseforge_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [203], "excluded_lines": [], "start_line": 201}, "transform_modrinth_version": {"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": [218, 219, 221], "excluded_lines": [], "start_line": 216}, "parse_url": {"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": [244, 245], "excluded_lines": [], "start_line": 238}, "search_mods": {"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": [265, 267, 268, 270, 271, 272, 280, 281, 282, 283, 286, 295, 296, 297, 298, 300, 301, 302, 304], "excluded_lines": [], "start_line": 249}, "get_mod_info": {"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": [315, 317, 318, 320, 321, 322, 323, 324, 327, 328, 330, 331, 332, 334], "excluded_lines": [], "start_line": 308}, "get_mod_files": {"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": [346, 348, 349, 351, 352, 353, 354, 356, 357, 358, 359, 362, 366, 367, 368, 369, 371, 372, 373, 375], "excluded_lines": [], "start_line": 338}, "import_mod": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [385, 388, 390, 391, 395, 397, 399, 400, 401, 407, 408, 411, 412, 415, 416, 417, 423, 424, 427, 430, 433, 434, 437, 438, 439, 445, 446, 449, 451, 452, 457, 458, 459, 460, 462, 463, 464, 465, 466, 467, 469, 476, 477, 478], "excluded_lines": [], "start_line": 379}, "get_categories": {"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": [488, 490, 491, 493, 494, 495, 496, 499, 500, 502, 503, 504, 506], "excluded_lines": [], "start_line": 484}, "get_loaders": {"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": [514, 515, 516, 517, 518, 519, 521], "excluded_lines": [], "start_line": 510}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 79, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 79, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 20, 21, 24, 26, 32, 35, 36, 37, 40, 43, 44, 45, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 90, 93, 94, 97, 100, 101, 102, 103, 109, 162, 183, 201, 216, 237, 238, 248, 249, 307, 308, 337, 338, 378, 379, 483, 484, 509, 510], "excluded_lines": [], "start_line": 1}}, "classes": {"ModSearchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "ModInfo": {"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": 48}, "ModFile": {"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": 65}, "URLParseResult": {"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": 79}, "ImportRequest": {"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": 90}, "ImportResponse": {"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": 97}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 223, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 223, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 20, 21, 24, 26, 32, 35, 36, 37, 40, 43, 44, 45, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 90, 93, 94, 97, 100, 101, 102, 103, 109, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 143, 144, 145, 146, 147, 154, 162, 164, 165, 167, 183, 185, 201, 203, 216, 218, 219, 221, 237, 238, 244, 245, 248, 249, 265, 267, 268, 270, 271, 272, 280, 281, 282, 283, 286, 295, 296, 297, 298, 300, 301, 302, 304, 307, 308, 315, 317, 318, 320, 321, 322, 323, 324, 327, 328, 330, 331, 332, 334, 337, 338, 346, 348, 349, 351, 352, 353, 354, 356, 357, 358, 359, 362, 366, 367, 368, 369, 371, 372, 373, 375, 378, 379, 385, 388, 390, 391, 395, 397, 399, 400, 401, 407, 408, 411, 412, 415, 416, 417, 423, 424, 427, 430, 433, 434, 437, 438, 439, 445, 446, 449, 451, 452, 457, 458, 459, 460, 462, 463, 464, 465, 466, 467, 469, 476, 477, 478, 483, 484, 488, 490, 491, 493, 494, 495, 496, 499, 500, 502, 503, 504, 506, 509, 510, 514, 515, 516, 517, 518, 519, 521], "excluded_lines": [], "start_line": 1}}}, "src/api/mode_classification.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 18, 25, 28, 30, 33, 40, 54, 56, 59, 64, 67, 70, 72, 84, 85, 86, 90, 91, 92, 98, 105, 115, 116, 117, 123, 126, 129, 131, 143, 144, 145, 146, 147, 153, 159, 168, 211, 214, 220, 233, 234, 237, 243, 257], "excluded_lines": [], "functions": {"classify_mod": {"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": [54, 56, 59, 64, 67, 70, 72, 84, 85, 86, 90, 91, 92], "excluded_lines": [], "start_line": 40}, "classify_from_features": {"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": [115, 116, 117, 123, 126, 129, 131, 143, 144, 145, 146, 147], "excluded_lines": [], "start_line": 105}, "get_modes": {"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": [168, 211], "excluded_lines": [], "start_line": 159}, "get_pipeline": {"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": [233, 234], "excluded_lines": [], "start_line": 220}, "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": [257], "excluded_lines": [], "start_line": 243}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 18, 25, 28, 30, 33, 40, 98, 105, 153, 159, 214, 220, 237, 243], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 18, 25, 28, 30, 33, 40, 54, 56, 59, 64, 67, 70, 72, 84, 85, 86, 90, 91, 92, 98, 105, 115, 116, 117, 123, 126, 129, 131, 143, 144, 145, 146, 147, 153, 159, 168, 211, 214, 220, 233, 234, 237, 243, 257], "excluded_lines": [], "start_line": 1}}}, "src/api/performance.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 116, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 116, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 9, 20, 22, 23, 26, 27, 28, 39, 40, 41, 42, 43, 44, 45, 46, 49, 50, 51, 53, 54, 75, 78, 81, 83, 92, 93, 94, 95, 97, 99, 107, 108, 109, 111, 123, 144, 149, 166, 186, 196, 204, 205, 208, 209, 210, 211, 215, 216, 226, 230, 237, 238, 239, 240, 241, 243, 244, 245, 246, 248, 249, 250, 251, 253, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 268, 277, 278, 279, 280, 281, 283, 284, 294, 295, 296, 301, 312, 313, 314, 315, 316, 327, 330, 331, 332, 334, 346, 348, 351, 352, 353, 354, 355, 356, 357, 370, 371], "excluded_lines": [], "functions": {"load_scenarios_from_files": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28, 39, 40, 41, 42, 43, 44, 45, 46, 49, 50, 51, 53, 54, 75], "excluded_lines": [], "start_line": 26}, "simulate_benchmark_execution": {"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": [83, 92, 93, 94, 95, 97, 99, 107, 108, 109, 111, 123, 144, 149, 166, 186, 196, 204, 205], "excluded_lines": [], "start_line": 81}, "run_benchmark_endpoint": {"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": [210, 211, 215, 216, 226, 230], "excluded_lines": [], "start_line": 209}, "get_benchmark_status_endpoint": {"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": [239, 240, 241, 243, 244, 245, 246, 248, 249, 250, 251, 253, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 268], "excluded_lines": [], "start_line": 238}, "get_benchmark_report_endpoint": {"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": [279, 280, 281, 283, 284, 294, 295, 296, 301], "excluded_lines": [], "start_line": 278}, "list_benchmark_scenarios_endpoint": {"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": [314, 315, 316, 327], "excluded_lines": [], "start_line": 313}, "create_custom_scenario_endpoint": {"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": [332, 334, 346, 348], "excluded_lines": [], "start_line": 331}, "get_benchmark_history_endpoint": {"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": [353, 354, 355, 356, 357, 370, 371], "excluded_lines": [], "start_line": 352}, "": {"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": [1, 2, 3, 4, 5, 6, 7, 9, 20, 22, 23, 26, 78, 81, 208, 209, 237, 238, 277, 278, 312, 313, 330, 331, 351, 352], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 116, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 116, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 9, 20, 22, 23, 26, 27, 28, 39, 40, 41, 42, 43, 44, 45, 46, 49, 50, 51, 53, 54, 75, 78, 81, 83, 92, 93, 94, 95, 97, 99, 107, 108, 109, 111, 123, 144, 149, 166, 186, 196, 204, 205, 208, 209, 210, 211, 215, 216, 226, 230, 237, 238, 239, 240, 241, 243, 244, 245, 246, 248, 249, 250, 251, 253, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 268, 277, 278, 279, 280, 281, 283, 284, 294, 295, 296, 301, 312, 313, 314, 315, 316, 327, 330, 331, 332, 334, 346, 348, 351, 352, 353, 354, 355, 356, 357, 370, 371], "excluded_lines": [], "start_line": 1}}}, "src/api/qa.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2, 3, 4, 5, 7, 12, 16, 19, 20, 22, 23, 24, 25, 31, 45, 47, 48, 49, 54, 56, 69, 73, 81, 92, 93, 95, 96, 97, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 122, 125, 126, 128, 131, 134, 146, 149, 151, 152, 153, 155, 156, 159, 166, 194, 195, 196, 197, 198, 199, 205, 208, 214, 228, 232, 233, 234, 235, 236, 237, 238, 240, 241, 245, 247, 248, 252, 253, 259, 262, 263, 265, 266, 267, 269, 271, 272, 273, 277, 278, 282, 285, 287, 289, 293, 294, 295, 297, 298, 299, 300, 302, 305, 306, 307, 310], "excluded_lines": [], "functions": {"_validate_conversion_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [19, 20, 22, 23, 24, 25], "excluded_lines": [], "start_line": 16}, "start_qa_task": {"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": [45, 47, 48, 49, 54, 56, 69, 73], "excluded_lines": [], "start_line": 31}, "get_qa_status": {"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": [92, 93, 95, 96, 97, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 122, 125, 126, 128, 131], "excluded_lines": [], "start_line": 81}, "get_qa_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [146, 149, 151, 152, 153, 155, 156, 159, 166, 194, 195, 196, 197, 198, 199, 205, 208], "excluded_lines": [], "start_line": 134}, "list_qa_tasks": {"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": [228, 232, 233, 234, 235, 236, 237, 238, 240, 241, 245, 247, 248], "excluded_lines": [], "start_line": 214}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2, 3, 4, 5, 7, 12, 16, 31, 81, 134, 214, 252, 253, 259, 262, 263, 265, 266, 267, 269, 271, 272, 273, 277, 278, 282, 285, 287, 289, 293, 294, 295, 297, 298, 299, 300, 302, 305, 306, 307, 310], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2, 3, 4, 5, 7, 12, 16, 19, 20, 22, 23, 24, 25, 31, 45, 47, 48, 49, 54, 56, 69, 73, 81, 92, 93, 95, 96, 97, 100, 101, 102, 103, 104, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 122, 125, 126, 128, 131, 134, 146, 149, 151, 152, 153, 155, 156, 159, 166, 194, 195, 196, 197, 198, 199, 205, 208, 214, 228, 232, 233, 234, 235, 236, 237, 238, 240, 241, 245, 247, 248, 252, 253, 259, 262, 263, 265, 266, 267, 269, 271, 272, 273, 277, 278, 282, 285, 287, 289, 293, 294, 295, 297, 298, 299, 300, 302, 305, 306, 307, 310], "excluded_lines": [], "start_line": 1}}}, "src/api/query_monitoring.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 20, 21, 23, 30, 32, 36, 38, 39, 40, 41, 44, 46, 47, 48, 49, 50, 53, 54, 64, 65, 66, 67, 69, 72, 73, 79, 80, 81, 85, 86, 88, 93, 94, 98, 99, 100, 104, 105, 107, 112, 113, 117, 118, 119, 123, 124, 126, 131, 132, 138, 139, 140, 141, 142, 144, 147, 148, 150, 151, 152, 153, 154, 156, 159, 160, 162, 163, 164, 165, 166, 168, 171, 172, 174, 175, 176, 177, 178, 180], "excluded_lines": [], "functions": {"get_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [64, 65, 66, 67, 69], "excluded_lines": [], "start_line": 54}, "get_n_plus_one_candidates": {"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": [79, 80, 81, 85, 86, 88], "excluded_lines": [], "start_line": 73}, "get_slowest_queries": {"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": [98, 99, 100, 104, 105, 107], "excluded_lines": [], "start_line": 94}, "get_most_executed": {"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": [117, 118, 119, 123, 124, 126], "excluded_lines": [], "start_line": 113}, "reset_monitor": {"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": [138, 139, 140, 141, 142, 144], "excluded_lines": [], "start_line": 132}, "enable_monitor": {"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": [150, 151, 152, 153, 154, 156], "excluded_lines": [], "start_line": 148}, "disable_monitor": {"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": [162, 163, 164, 165, 166, 168], "excluded_lines": [], "start_line": 160}, "get_summary": {"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": [174, 175, 176, 177, 178, 180], "excluded_lines": [], "start_line": 172}, "": {"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": [17, 18, 19, 20, 21, 23, 30, 32, 36, 38, 39, 40, 41, 44, 46, 47, 48, 49, 50, 53, 54, 72, 73, 93, 94, 112, 113, 131, 132, 147, 148, 159, 160, 171, 172], "excluded_lines": [], "start_line": 1}}, "classes": {"QueryStatsResponse": {"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": 36}, "SlowQueryResponse": {"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": 44}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 20, 21, 23, 30, 32, 36, 38, 39, 40, 41, 44, 46, 47, 48, 49, 50, 53, 54, 64, 65, 66, 67, 69, 72, 73, 79, 80, 81, 85, 86, 88, 93, 94, 98, 99, 100, 104, 105, 107, 112, 113, 117, 118, 119, 123, 124, 126, 131, 132, 138, 139, 140, 141, 142, 144, 147, 148, 150, 151, 152, 153, 154, 156, 159, 160, 162, 163, 164, 165, 166, 168, 171, 172, 174, 175, 176, 177, 178, 180], "excluded_lines": [], "start_line": 1}}}, "src/api/rag.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 13, 15, 16, 19, 22, 23, 24, 25, 26, 29, 30, 33, 36, 37, 38, 39, 40, 41, 44, 47, 48, 49, 50, 51, 54, 57, 58, 59, 60, 61, 64, 65, 76, 77, 78, 80, 81, 82, 84, 86, 97, 99, 101, 102, 103, 114, 132, 133, 134, 137, 138, 139, 144, 145, 147], "excluded_lines": [], "functions": {"rag_search": {"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": [76, 77, 78, 80, 81, 82, 84, 86, 97, 99, 101, 102, 103, 114, 132, 133, 134, 137, 138, 139], "excluded_lines": [], "start_line": 65}, "rag_health": {"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": [147], "excluded_lines": [], "start_line": 145}, "": {"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": [8, 9, 10, 12, 13, 15, 16, 19, 22, 23, 24, 25, 26, 29, 30, 33, 36, 37, 38, 39, 40, 41, 44, 47, 48, 49, 50, 51, 54, 57, 58, 59, 60, 61, 64, 65, 144, 145], "excluded_lines": [], "start_line": 1}}, "classes": {"RAGSearchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "SearchResultItem": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "QueryAnalysisResponse": {"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": 44}, "RAGSearchResponse": {"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": 54}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 13, 15, 16, 19, 22, 23, 24, 25, 26, 29, 30, 33, 36, 37, 38, 39, 40, 41, 44, 47, 48, 49, 50, 51, 54, 57, 58, 59, 60, 61, 64, 65, 76, 77, 78, 80, 81, 82, 84, 86, 97, 99, 101, 102, 103, 114, 132, 133, 134, 137, 138, 139, 144, 145, 147], "excluded_lines": [], "start_line": 1}}}, "src/api/rate_limit_dashboard.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 173, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 173, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 15, 16, 20, 22, 25, 28, 29, 30, 31, 32, 33, 36, 39, 40, 41, 42, 43, 46, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 69, 71, 73, 75, 77, 78, 79, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 119, 122, 123, 131, 134, 137, 140, 145, 148, 155, 158, 159, 160, 161, 164, 174, 175, 176, 177, 178, 179, 181, 192, 195, 202, 208, 217, 218, 222, 224, 227, 230, 234, 236, 243, 245, 246, 247, 248, 250, 260, 261, 265, 267, 272, 274, 275, 276, 277, 278, 279, 281, 291, 294, 295, 302, 304, 306, 309, 310, 311, 314, 316, 318, 332, 333, 336, 337, 341, 343, 346, 349, 350, 351, 352, 353, 356, 357, 361, 363, 368, 377, 380, 381, 382, 385, 386, 393, 395, 396, 397, 398, 399, 400, 402], "excluded_lines": [], "functions": {"_get_prometheus_metrics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [71, 73, 75, 77, 78, 79, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 119], "excluded_lines": [], "start_line": 69}, "get_rate_limit_dashboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [131, 134, 137, 140, 145, 148, 155, 158, 159, 160, 161, 164, 174, 175, 176, 177, 178, 179, 181, 192, 195, 202, 208], "excluded_lines": [], "start_line": 123}, "get_rate_limit_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [222, 224, 227, 230, 234, 236, 243, 245, 246, 247, 248, 250], "excluded_lines": [], "start_line": 218}, "get_endpoint_stats": {"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": [265, 267, 272, 274, 275, 276, 277, 278, 279, 281, 291], "excluded_lines": [], "start_line": 261}, "get_client_stats": {"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": [302, 304, 306, 309, 310, 311, 314, 316, 318, 332, 333], "excluded_lines": [], "start_line": 295}, "get_rate_limit_prometheus_metrics": {"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": [341, 343], "excluded_lines": [], "start_line": 337}, "get_rate_limit_config": {"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": [361, 363, 368], "excluded_lines": [], "start_line": 357}, "update_rate_limit_config": {"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": [393, 395, 396, 397, 398, 399, 400, 402], "excluded_lines": [], "start_line": 386}, "": {"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": [9, 10, 11, 12, 13, 15, 16, 20, 22, 25, 28, 29, 30, 31, 32, 33, 36, 39, 40, 41, 42, 43, 46, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 69, 122, 123, 217, 218, 260, 261, 294, 295, 336, 337, 346, 349, 350, 351, 352, 353, 356, 357, 377, 380, 381, 382, 385, 386], "excluded_lines": [], "start_line": 1}}, "classes": {"RateLimitSummary": {"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": 25}, "EndpointStats": {"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": 36}, "ClientStats": {"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": 46}, "DashboardStats": {"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": 59}, "ConfigInfo": {"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": 346}, "ConfigUpdateRequest": {"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": 377}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 173, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 173, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 15, 16, 20, 22, 25, 28, 29, 30, 31, 32, 33, 36, 39, 40, 41, 42, 43, 46, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 69, 71, 73, 75, 77, 78, 79, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 119, 122, 123, 131, 134, 137, 140, 145, 148, 155, 158, 159, 160, 161, 164, 174, 175, 176, 177, 178, 179, 181, 192, 195, 202, 208, 217, 218, 222, 224, 227, 230, 234, 236, 243, 245, 246, 247, 248, 250, 260, 261, 265, 267, 272, 274, 275, 276, 277, 278, 279, 281, 291, 294, 295, 302, 304, 306, 309, 310, 311, 314, 316, 318, 332, 333, 336, 337, 341, 343, 346, 349, 350, 351, 352, 353, 356, 357, 361, 363, 368, 377, 380, 381, 382, 385, 386, 393, 395, 396, 397, 398, 399, 400, 402], "excluded_lines": [], "start_line": 1}}}, "src/api/task_queue.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": [8, 9, 10, 11, 21, 25, 28, 29, 30, 33, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 55, 56, 57, 60, 62, 68, 72, 73, 83, 84, 86, 88, 97, 98, 101, 102, 112, 114, 115, 117, 132, 133, 143, 145, 146, 151, 154, 155, 169, 170, 171, 172, 174, 175, 177, 195, 196, 203, 205], "excluded_lines": [], "functions": {"priority_string_to_enum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [62, 68], "excluded_lines": [], "start_line": 60}, "create_task": {"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": [83, 84, 86, 88, 97, 98], "excluded_lines": [], "start_line": 73}, "get_task": {"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, 114, 115, 117], "excluded_lines": [], "start_line": 102}, "cancel_task_endpoint": {"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": [143, 145, 146, 151], "excluded_lines": [], "start_line": 133}, "list_tasks": {"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": [169, 170, 171, 172, 174, 175, 177], "excluded_lines": [], "start_line": 155}, "get_queue_statistics": {"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": [203, 205], "excluded_lines": [], "start_line": 196}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 21, 25, 28, 29, 30, 33, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 55, 56, 57, 60, 72, 73, 101, 102, 132, 133, 154, 155, 195, 196], "excluded_lines": [], "start_line": 1}}, "classes": {"TaskEnqueueRequest": {"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": 25}, "TaskResponse": {"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": 36}, "QueueStatsResponse": {"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": 52}, "": {"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": [8, 9, 10, 11, 21, 25, 28, 29, 30, 33, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 55, 56, 57, 60, 62, 68, 72, 73, 83, 84, 86, 88, 97, 98, 101, 102, 112, 114, 115, 117, 132, 133, 143, 145, 146, 151, 154, 155, 169, 170, 171, 172, 174, 175, 177, 195, 196, 203, 205], "excluded_lines": [], "start_line": 1}}}, "src/api/upload.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 119, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 119, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 26, 27, 29, 30, 31, 33, 35, 38, 39, 43, 46, 47, 48, 49, 52, 55, 56, 57, 58, 61, 64, 65, 66, 67, 68, 71, 74, 75, 76, 77, 80, 83, 87, 90, 92, 93, 99, 102, 103, 106, 108, 109, 111, 114, 115, 129, 131, 132, 137, 138, 141, 142, 144, 146, 147, 150, 151, 152, 158, 166, 167, 169, 171, 179, 180, 181, 182, 183, 186, 187, 198, 199, 204, 205, 208, 217, 225, 226, 239, 240, 244, 247, 250, 253, 255, 263, 264, 270, 271, 273, 276, 277, 278, 279, 282, 283, 284, 285, 288, 293, 296, 298, 307, 308, 321, 323, 324, 326, 334, 335, 346, 348, 352], "excluded_lines": [], "functions": {"validate_file_type": {"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": [92, 93, 99, 102, 103, 106, 108, 109, 111], "excluded_lines": [], "start_line": 90}, "upload_jar_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [129, 131, 132, 137, 138, 141, 142, 144, 146, 147, 150, 151, 152, 158, 166, 167, 169, 171, 179, 180, 181, 182, 183], "excluded_lines": [], "start_line": 115}, "init_chunked_upload": {"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": [198, 199, 204, 205, 208, 217], "excluded_lines": [], "start_line": 187}, "upload_chunk": {"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": [239, 240, 244, 247, 250, 253, 255], "excluded_lines": [], "start_line": 226}, "complete_chunked_upload": {"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": [270, 271, 273, 276, 277, 278, 279, 282, 283, 284, 285, 288, 293, 296, 298], "excluded_lines": [], "start_line": 264}, "get_upload_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [321, 323, 324, 326], "excluded_lines": [], "start_line": 308}, "cancel_upload": {"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": [346, 348], "excluded_lines": [], "start_line": 335}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 26, 27, 29, 30, 31, 33, 35, 38, 39, 43, 46, 47, 48, 49, 52, 55, 56, 57, 58, 61, 64, 65, 66, 67, 68, 71, 74, 75, 76, 77, 80, 83, 87, 90, 114, 115, 186, 187, 225, 226, 263, 264, 307, 308, 334, 335, 352], "excluded_lines": [], "start_line": 1}}, "classes": {"UploadInitResponse": {"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": 43}, "ChunkUploadResponse": {"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": 52}, "UploadCompleteResponse": {"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": 61}, "UploadStatusResponse": {"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": 71}, "UploadErrorResponse": {"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": 80}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 119, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 119, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 26, 27, 29, 30, 31, 33, 35, 38, 39, 43, 46, 47, 48, 49, 52, 55, 56, 57, 58, 61, 64, 65, 66, 67, 68, 71, 74, 75, 76, 77, 80, 83, 87, 90, 92, 93, 99, 102, 103, 106, 108, 109, 111, 114, 115, 129, 131, 132, 137, 138, 141, 142, 144, 146, 147, 150, 151, 152, 158, 166, 167, 169, 171, 179, 180, 181, 182, 183, 186, 187, 198, 199, 204, 205, 208, 217, 225, 226, 239, 240, 244, 247, 250, 253, 255, 263, 264, 270, 271, 273, 276, 277, 278, 279, 282, 283, 284, 285, 288, 293, 296, 298, 307, 308, 321, 323, 324, 326, 334, 335, 346, 348, 352], "excluded_lines": [], "start_line": 1}}}, "src/api/validation.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 266, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 266, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 21, 24, 27, 28, 29, 36, 37, 39, 40, 41, 42, 44, 48, 52, 63, 64, 65, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 86, 87, 89, 90, 91, 92, 94, 96, 97, 98, 99, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 122, 123, 124, 126, 127, 128, 130, 131, 138, 139, 141, 142, 143, 144, 145, 147, 148, 149, 150, 152, 153, 154, 155, 156, 158, 160, 169, 170, 172, 173, 174, 175, 177, 179, 180, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 209, 211, 220, 221, 223, 224, 225, 226, 228, 229, 236, 237, 238, 239, 241, 242, 243, 244, 245, 246, 247, 248, 249, 255, 257, 258, 259, 260, 261, 262, 264, 265, 266, 267, 268, 270, 272, 279, 280, 281, 283, 284, 286, 288, 289, 291, 293, 294, 296, 303, 304, 306, 307, 309, 310, 311, 312, 314, 315, 318, 319, 323, 324, 326, 327, 329, 330, 332, 335, 336, 337, 338, 341, 344, 347, 352, 353, 354, 357, 358, 361, 362, 365, 368, 370, 371, 372, 373, 376, 377, 380, 384, 385, 386, 387, 388, 390, 391, 399, 400, 402, 403, 405, 406, 407, 409, 410, 411, 412, 415, 416, 421, 422, 423, 424, 426, 433, 434, 436, 443, 446, 449, 450, 451, 452, 453, 454, 455, 458, 459, 460, 461, 462, 463, 464, 465, 470, 471, 472, 473, 478, 479, 480, 482], "excluded_lines": [], "functions": {"ValidationAgent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29], "excluded_lines": [], "start_line": 28}, "ValidationAgent.validate_conversion": {"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": [37, 39, 40, 41, 42, 44, 48, 52], "excluded_lines": [], "start_line": 36}, "ValidationAgent._analyze_semantic_preservation": {"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": [64, 65, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 86, 87, 89, 90, 91, 92, 94, 96, 97, 98, 99, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114], "excluded_lines": [], "start_line": 63}, "ValidationAgent._predict_behavior_differences": {"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": [123, 124, 126, 127, 128, 130, 131, 138, 139, 141, 142, 143, 144, 145, 147, 148, 149, 150, 152, 153, 154, 155, 156, 158, 160], "excluded_lines": [], "start_line": 122}, "ValidationAgent._validate_asset_integrity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [170, 172, 173, 174, 175, 177, 179, 180, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 209, 211], "excluded_lines": [], "start_line": 169}, "ValidationAgent._validate_manifest_structure": {"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": [221, 223, 224, 225, 226, 228, 229, 236, 237, 238, 239, 241, 242, 243, 244, 245, 246, 247, 248, 249, 255, 257, 258, 259, 260, 261, 262, 264, 265, 266, 267, 268, 270, 272], "excluded_lines": [], "start_line": 220}, "ValidationAgent._calculate_weighted_confidence": {"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": [280, 281, 283, 284, 286, 288, 289, 291, 293, 294, 296, 303, 304], "excluded_lines": [], "start_line": 279}, "ValidationAgent._generate_recommendations": {"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": [307, 309, 310, 311, 312, 314, 315, 318, 319, 323, 324, 326, 327, 329, 330, 332], "excluded_lines": [], "start_line": 306}, "get_validation_agent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [377], "excluded_lines": [], "start_line": 376}, "process_validation_task": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [384, 385, 386, 387, 388, 390, 391, 399, 400, 402, 403, 405, 406, 407, 409, 410, 411, 412], "excluded_lines": [], "start_line": 380}, "start_validation_job": {"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": [421, 422, 423, 424, 426, 433, 434, 436, 443, 446], "excluded_lines": [], "start_line": 416}, "get_validation_job_status": {"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": [451, 452, 453, 454, 455], "excluded_lines": [], "start_line": 450}, "get_validation_report": {"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": [460, 461, 462, 463, 464, 465, 470, 471, 472, 473, 478, 479, 480, 482], "excluded_lines": [], "start_line": 459}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 21, 24, 27, 28, 36, 63, 122, 169, 220, 279, 306, 335, 336, 337, 338, 341, 344, 347, 352, 353, 354, 357, 358, 361, 362, 365, 368, 370, 371, 372, 373, 376, 380, 415, 416, 449, 450, 458, 459], "excluded_lines": [], "start_line": 1}}, "classes": {"ValidationReportModel": {"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}, "ValidationAgent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 164, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 164, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 37, 39, 40, 41, 42, 44, 48, 52, 64, 65, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 86, 87, 89, 90, 91, 92, 94, 96, 97, 98, 99, 101, 103, 104, 105, 106, 108, 110, 111, 112, 114, 123, 124, 126, 127, 128, 130, 131, 138, 139, 141, 142, 143, 144, 145, 147, 148, 149, 150, 152, 153, 154, 155, 156, 158, 160, 170, 172, 173, 174, 175, 177, 179, 180, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 209, 211, 221, 223, 224, 225, 226, 228, 229, 236, 237, 238, 239, 241, 242, 243, 244, 245, 246, 247, 248, 249, 255, 257, 258, 259, 260, 261, 262, 264, 265, 266, 267, 268, 270, 272, 280, 281, 283, 284, 286, 288, 289, 291, 293, 294, 296, 303, 304, 307, 309, 310, 311, 312, 314, 315, 318, 319, 323, 324, 326, 327, 329, 330, 332], "excluded_lines": [], "start_line": 27}, "ValidationRequest": {"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": 335}, "ValidationJob": {"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": 352}, "ValidationReportResponse": {"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": 361}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 21, 24, 27, 28, 36, 63, 122, 169, 220, 279, 306, 335, 336, 337, 338, 341, 344, 347, 352, 353, 354, 357, 358, 361, 362, 365, 368, 370, 371, 372, 373, 376, 377, 380, 384, 385, 386, 387, 388, 390, 391, 399, 400, 402, 403, 405, 406, 407, 409, 410, 411, 412, 415, 416, 421, 422, 423, 424, 426, 433, 434, 436, 443, 446, 449, 450, 451, 452, 453, 454, 455, 458, 459, 460, 461, 462, 463, 464, 465, 470, 471, 472, 473, 478, 479, 480, 482], "excluded_lines": [], "start_line": 1}}}, "src/api/validation_constants.py": {"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": [2, 5, 8, 9, 10, 11, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25], "excluded_lines": [], "functions": {"": {"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": [2, 5, 8, 9, 10, 11, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25], "excluded_lines": [], "start_line": 1}}, "classes": {"ValidationJobStatus": {"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": 5}, "ValidationMessages": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "": {"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": [2, 5, 8, 9, 10, 11, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25], "excluded_lines": [], "start_line": 1}}}, "src/api/visual_editor.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 16, 18, 21, 24, 27, 30, 31, 32, 33, 34, 37, 40, 41, 42, 45, 48, 49, 50, 51, 54, 57, 58, 59, 62, 65, 66, 67, 70, 73, 74, 75, 78, 79, 92, 98, 100, 101, 107, 109, 120, 121, 134, 137, 138, 146, 147, 149, 150, 151, 152, 159, 161, 169, 170, 184, 202, 204, 207, 208, 220, 269, 270, 271, 277, 278, 279, 281, 288, 289, 295, 322, 325, 326, 338, 344, 345, 348, 349, 350, 351, 358, 359, 368, 369, 370, 378], "excluded_lines": [], "functions": {"create_editor_session": {"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": [92, 98, 100, 101, 107, 109], "excluded_lines": [], "start_line": 79}, "edit_code": {"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": [134, 137, 138, 146, 147, 149, 150, 151, 152, 159, 161], "excluded_lines": [], "start_line": 121}, "get_ai_suggestion": {"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": [184, 202, 204], "excluded_lines": [], "start_line": 170}, "apply_template": {"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": [220, 269, 270, 271, 277, 278, 279, 281], "excluded_lines": [], "start_line": 208}, "list_templates": {"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": [295, 322], "excluded_lines": [], "start_line": 289}, "compare_versions": {"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": [338, 344, 345, 348, 349, 350, 351, 358, 359, 368, 369, 370, 378], "excluded_lines": [], "start_line": 326}, "": {"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": [7, 8, 9, 10, 11, 13, 14, 16, 18, 21, 24, 27, 30, 31, 32, 33, 34, 37, 40, 41, 42, 45, 48, 49, 50, 51, 54, 57, 58, 59, 62, 65, 66, 67, 70, 73, 74, 75, 78, 79, 120, 121, 169, 170, 207, 208, 288, 289, 325, 326], "excluded_lines": [], "start_line": 1}}, "classes": {"EditorSessionRequest": {"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": 21}, "EditorSessionResponse": {"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}, "CodeEditRequest": {"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": 37}, "CodeEditResponse": {"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": 45}, "AISuggestionRequest": {"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": 54}, "AISuggestionResponse": {"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": 62}, "TemplateRequest": {"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": 70}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 14, 16, 18, 21, 24, 27, 30, 31, 32, 33, 34, 37, 40, 41, 42, 45, 48, 49, 50, 51, 54, 57, 58, 59, 62, 65, 66, 67, 70, 73, 74, 75, 78, 79, 92, 98, 100, 101, 107, 109, 120, 121, 134, 137, 138, 146, 147, 149, 150, 151, 152, 159, 161, 169, 170, 184, 202, 204, 207, 208, 220, 269, 270, 271, 277, 278, 279, 281, 288, 289, 295, 322, 325, 326, 338, 344, 345, 348, 349, 350, 351, 358, 359, 368, 369, 370, 378], "excluded_lines": [], "start_line": 1}}}, "src/config.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 6, 7, 9, 13, 15, 16, 19, 21, 22, 23, 25, 26, 27, 29, 30, 32, 33, 35, 36, 39], "excluded_lines": [], "functions": {"Settings.database_url": {"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": [19, 21, 22, 23, 25, 26, 27], "excluded_lines": [], "start_line": 16}, "Settings.sync_database_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 33, 35, 36], "excluded_lines": [], "start_line": 30}, "": {"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": [1, 2, 3, 6, 7, 9, 13, 15, 16, 29, 30, 39], "excluded_lines": [], "start_line": 1}}, "classes": {"Settings": {"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": [19, 21, 22, 23, 25, 26, 27, 32, 33, 35, 36], "excluded_lines": [], "start_line": 6}, "": {"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": [1, 2, 3, 6, 7, 9, 13, 15, 16, 29, 30, 39], "excluded_lines": [], "start_line": 1}}}, "src/core/__init__.py": {"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": [8, 18], "excluded_lines": [], "functions": {"": {"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": [8, 18], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [8, 18], "excluded_lines": [], "start_line": 1}}}, "src/core/auth.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 89, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 89, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 15, 16, 18, 21, 22, 23, 24, 25, 26, 29, 41, 57, 58, 59, 60, 62, 73, 74, 75, 76, 78, 89, 90, 91, 92, 93, 94, 95, 98, 100, 117, 118, 119, 121, 123, 130, 131, 133, 135, 150, 151, 152, 154, 156, 163, 165, 176, 177, 178, 180, 181, 183, 184, 185, 187, 188, 189, 191, 201, 202, 203, 204, 205, 206, 207, 208, 210, 217, 219, 226, 228, 237, 238, 240, 250, 252, 256, 259, 260, 261, 262, 263, 264, 265, 266, 267], "excluded_lines": [], "functions": {"AuthManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [57, 58, 59, 60], "excluded_lines": [], "start_line": 41}, "AuthManager.hash_password": {"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": [73, 74, 75, 76], "excluded_lines": [], "start_line": 62}, "AuthManager.verify_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [89, 90, 91, 92, 93, 94, 95, 98], "excluded_lines": [], "start_line": 78}, "AuthManager.create_access_token": {"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": [117, 118, 119, 121, 123, 130, 131, 133], "excluded_lines": [], "start_line": 100}, "AuthManager.create_refresh_token": {"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": [150, 151, 152, 154, 156, 163], "excluded_lines": [], "start_line": 135}, "AuthManager.verify_token": {"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": [176, 177, 178, 180, 181, 183, 184, 185, 187, 188, 189], "excluded_lines": [], "start_line": 165}, "AuthManager.get_token_expiry": {"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": [201, 202, 203, 204, 205, 206, 207, 208], "excluded_lines": [], "start_line": 191}, "AuthManager.generate_verification_token": {"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": [217], "excluded_lines": [], "start_line": 210}, "AuthManager.generate_reset_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [226], "excluded_lines": [], "start_line": 219}, "AuthManager.generate_api_key": {"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": [237, 238], "excluded_lines": [], "start_line": 228}, "AuthManager.hash_api_key": {"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": [250, 252], "excluded_lines": [], "start_line": 240}, "": {"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": [11, 12, 13, 15, 16, 18, 21, 22, 23, 24, 25, 26, 29, 41, 62, 78, 100, 135, 165, 191, 210, 219, 228, 240, 256, 259, 260, 261, 262, 263, 264, 265, 266, 267], "excluded_lines": [], "start_line": 1}}, "classes": {"AuthManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [57, 58, 59, 60, 73, 74, 75, 76, 89, 90, 91, 92, 93, 94, 95, 98, 117, 118, 119, 121, 123, 130, 131, 133, 150, 151, 152, 154, 156, 163, 176, 177, 178, 180, 181, 183, 184, 185, 187, 188, 189, 201, 202, 203, 204, 205, 206, 207, 208, 217, 226, 237, 238, 250, 252], "excluded_lines": [], "start_line": 29}, "": {"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": [11, 12, 13, 15, 16, 18, 21, 22, 23, 24, 25, 26, 29, 41, 62, 78, 100, 135, 165, 191, 210, 219, 228, 240, 256, 259, 260, 261, 262, 263, 264, 265, 266, 267], "excluded_lines": [], "start_line": 1}}}, "src/core/redis.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 19, 21, 23, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 52, 53, 54, 55, 56, 58, 60, 61, 63, 64, 74, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 89, 91, 93, 94, 95, 96, 97, 98, 100, 101, 103, 105, 107, 108, 109, 110, 111, 112, 113, 114, 116, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 133, 134, 135, 136, 137, 138, 139, 141, 143, 144, 145, 146, 147, 148, 149, 151, 153, 154, 155, 156, 157, 158, 159, 162, 172, 173, 174, 175, 177, 179, 181, 183, 185, 187, 188, 190, 192, 193, 196, 198, 199, 200, 201, 202, 203, 204, 206, 208, 209, 211, 213, 214, 215, 217, 218, 221, 223, 224, 225, 226, 228, 230, 231, 233, 234, 235, 236, 237, 238, 240, 242, 243, 244, 245, 246, 247, 248, 251, 260, 261, 262, 263, 265, 267, 269, 271, 273, 278, 279, 281, 282, 284, 285, 286, 289, 292, 295, 298, 300, 301, 303, 305, 306, 307, 309, 311, 312, 314, 315, 317, 318, 319, 320, 321, 322, 323, 327, 328, 329, 332, 335, 336, 337, 338, 341, 344, 345, 346, 347, 350, 353, 354, 355, 356, 359, 363, 364, 365, 367, 368, 369, 371, 372, 373, 375], "excluded_lines": [], "functions": {"RedisConfig.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [30, 31, 32, 33, 34, 35, 36, 37], "excluded_lines": [], "start_line": 29}, "RedisClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [53, 54, 55, 56], "excluded_lines": [], "start_line": 52}, "RedisClient.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [60, 61, 63, 64, 74, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": [], "start_line": 58}, "RedisClient.disconnect": {"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": [93, 94, 95, 96, 97, 98], "excluded_lines": [], "start_line": 91}, "RedisClient.is_connected": {"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": [103], "excluded_lines": [], "start_line": 101}, "RedisClient.get": {"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": [107, 108, 109, 110, 111, 112, 113, 114], "excluded_lines": [], "start_line": 105}, "RedisClient.set": {"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": [120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "excluded_lines": [], "start_line": 116}, "RedisClient.delete": {"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": [133, 134, 135, 136, 137, 138, 139], "excluded_lines": [], "start_line": 131}, "RedisClient.exists": {"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": [143, 144, 145, 146, 147, 148, 149], "excluded_lines": [], "start_line": 141}, "RedisClient.expire": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [153, 154, 155, 156, 157, 158, 159], "excluded_lines": [], "start_line": 151}, "JobQueue.__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": [173, 174, 175], "excluded_lines": [], "start_line": 172}, "JobQueue.connect": {"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": [179], "excluded_lines": [], "start_line": 177}, "JobQueue.disconnect": {"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": [183], "excluded_lines": [], "start_line": 181}, "JobQueue.enqueue": {"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": [187, 188, 190, 192, 193, 196, 198, 199, 200, 201, 202, 203, 204], "excluded_lines": [], "start_line": 185}, "JobQueue.dequeue": {"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": [208, 209, 211, 213, 214, 215, 217, 218, 221, 223, 224, 225, 226], "excluded_lines": [], "start_line": 206}, "JobQueue.complete_job": {"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": [230, 231, 233, 234, 235, 236, 237, 238], "excluded_lines": [], "start_line": 228}, "JobQueue.get_queue_size": {"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": [242, 243, 244, 245, 246, 247, 248], "excluded_lines": [], "start_line": 240}, "RateLimiter.__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": [261, 262, 263], "excluded_lines": [], "start_line": 260}, "RateLimiter.connect": {"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": 265}, "RateLimiter.disconnect": {"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": [271], "excluded_lines": [], "start_line": 269}, "RateLimiter.check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [278, 279, 281, 282, 284, 285, 286, 289, 292, 295, 298, 300, 301, 303, 305, 306, 307], "excluded_lines": [], "start_line": 273}, "RateLimiter.get_remaining": {"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": [311, 312, 314, 315, 317, 318, 319, 320, 321, 322, 323], "excluded_lines": [], "start_line": 309}, "get_redis_client": {"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": [335, 336, 337, 338], "excluded_lines": [], "start_line": 332}, "get_job_queue": {"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": [344, 345, 346, 347], "excluded_lines": [], "start_line": 341}, "get_rate_limiter": {"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": [353, 354, 355, 356], "excluded_lines": [], "start_line": 350}, "close_redis": {"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": [363, 364, 365, 367, 368, 369, 371, 372, 373, 375], "excluded_lines": [], "start_line": 359}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 19, 21, 23, 26, 29, 40, 52, 58, 91, 100, 101, 105, 116, 131, 141, 151, 162, 172, 177, 181, 185, 206, 228, 240, 251, 260, 265, 269, 273, 309, 327, 328, 329, 332, 341, 350, 359], "excluded_lines": [], "start_line": 1}}, "classes": {"RedisConfig": {"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": [30, 31, 32, 33, 34, 35, 36, 37], "excluded_lines": [], "start_line": 26}, "RedisClient": {"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": [53, 54, 55, 56, 60, 61, 63, 64, 74, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 89, 93, 94, 95, 96, 97, 98, 103, 107, 108, 109, 110, 111, 112, 113, 114, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 133, 134, 135, 136, 137, 138, 139, 143, 144, 145, 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, 159], "excluded_lines": [], "start_line": 40}, "JobQueue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [173, 174, 175, 179, 183, 187, 188, 190, 192, 193, 196, 198, 199, 200, 201, 202, 203, 204, 208, 209, 211, 213, 214, 215, 217, 218, 221, 223, 224, 225, 226, 230, 231, 233, 234, 235, 236, 237, 238, 242, 243, 244, 245, 246, 247, 248], "excluded_lines": [], "start_line": 162}, "RateLimiter": {"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": [261, 262, 263, 267, 271, 278, 279, 281, 282, 284, 285, 286, 289, 292, 295, 298, 300, 301, 303, 305, 306, 307, 311, 312, 314, 315, 317, 318, 319, 320, 321, 322, 323], "excluded_lines": [], "start_line": 251}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 66, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 66, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 19, 21, 23, 26, 29, 40, 52, 58, 91, 100, 101, 105, 116, 131, 141, 151, 162, 172, 177, 181, 185, 206, 228, 240, 251, 260, 265, 269, 273, 309, 327, 328, 329, 332, 335, 336, 337, 338, 341, 344, 345, 346, 347, 350, 353, 354, 355, 356, 359, 363, 364, 365, 367, 368, 369, 371, 372, 373, 375], "excluded_lines": [], "start_line": 1}}}, "src/core/secrets.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 186, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 186, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 21, 24, 30, 31, 33, 34, 37, 48, 56, 63, 68, 75, 80, 85, 92, 97, 102, 110, 113, 116, 117, 118, 121, 130, 131, 132, 133, 135, 137, 138, 140, 141, 143, 144, 145, 146, 147, 148, 151, 153, 155, 156, 158, 162, 163, 164, 165, 166, 167, 168, 170, 172, 174, 175, 176, 177, 179, 180, 182, 183, 185, 189, 190, 191, 192, 193, 194, 195, 197, 199, 200, 202, 203, 205, 207, 210, 211, 212, 213, 214, 215, 216, 218, 230, 231, 234, 236, 237, 239, 240, 241, 242, 243, 244, 245, 247, 250, 251, 253, 255, 256, 257, 259, 261, 262, 263, 264, 265, 266, 267, 269, 271, 272, 275, 276, 277, 278, 280, 282, 283, 289, 291, 292, 293, 294, 295, 296, 297, 299, 306, 308, 310, 311, 312, 313, 314, 315, 316, 318, 319, 320, 323, 324, 325, 326, 328, 329, 330, 336, 338, 339, 340, 341, 342, 343, 347, 361, 365, 368, 371, 372, 373, 376, 385, 391, 392, 406, 409, 410, 411, 413, 415, 416, 418, 420, 421, 423, 433, 435, 438], "excluded_lines": [], "functions": {"SecretStr.__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": [31], "excluded_lines": [], "start_line": 30}, "SecretStr.__str__": {"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": [34], "excluded_lines": [], "start_line": 33}, "get_secrets_settings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [116, 117, 118], "excluded_lines": [], "start_line": 113}, "SecretsManager.__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": [131, 132, 133], "excluded_lines": [], "start_line": 130}, "SecretsManager._initialize_backend": {"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": [137, 138, 140, 141, 143, 144, 145, 146, 147, 148, 151], "excluded_lines": [], "start_line": 135}, "SecretsManager._init_aws": {"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": [155, 156, 158, 162, 163, 164, 165, 166, 167, 168], "excluded_lines": [], "start_line": 153}, "SecretsManager._init_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [172, 174, 175, 176, 177, 179, 180, 182, 183, 185, 189, 190, 191, 192, 193, 194, 195], "excluded_lines": [], "start_line": 170}, "SecretsManager._init_doppler": {"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": [199, 200, 202, 203, 205, 207, 210, 211, 212, 213, 214, 215, 216], "excluded_lines": [], "start_line": 197}, "SecretsManager.get_secret": {"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": [230, 231, 234, 236, 237, 239, 240, 241, 242, 243, 244, 245, 247, 250, 251, 253, 255, 256, 257], "excluded_lines": [], "start_line": 218}, "SecretsManager._get_aws_secret": {"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": [261, 262, 263, 264, 265, 266, 267], "excluded_lines": [], "start_line": 259}, "SecretsManager._get_vault_secret": {"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": [271, 272, 275, 276, 277, 278], "excluded_lines": [], "start_line": 269}, "SecretsManager._get_doppler_secret": {"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": [282, 283, 289, 291, 292, 293, 294, 295, 296, 297], "excluded_lines": [], "start_line": 280}, "SecretsManager.get_all_secrets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [306, 308, 310, 311, 312, 313, 314, 315, 316, 318, 319, 320, 323, 324, 325, 326, 328, 329, 330, 336, 338, 339, 340, 341, 342, 343, 347, 361], "excluded_lines": [], "start_line": 299}, "get_secrets_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [371, 372, 373], "excluded_lines": [], "start_line": 368}, "Settings.settings_customise_sources": {"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": [406, 409, 410, 413, 420, 423], "excluded_lines": [], "start_line": 392}, "Settings.settings_customise_sources.SecretsManagerSource.__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": [411], "excluded_lines": [], "start_line": 410}, "Settings.settings_customise_sources.SecretsManagerSource.__call__": {"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": [415, 416, 418], "excluded_lines": [], "start_line": 413}, "Settings.settings_customise_sources.SecretsManagerSource.__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": [421], "excluded_lines": [], "start_line": 420}, "get_secret": {"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": [435], "excluded_lines": [], "start_line": 433}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 21, 24, 30, 33, 37, 48, 56, 63, 68, 75, 80, 85, 92, 97, 102, 110, 113, 121, 130, 135, 153, 170, 197, 218, 259, 269, 280, 299, 365, 368, 376, 385, 391, 392, 433, 438], "excluded_lines": [], "start_line": 1}}, "classes": {"SecretStr": {"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": [31, 34], "excluded_lines": [], "start_line": 24}, "SecretsManagerSettings": {"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": 37}, "SecretsManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 124, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 124, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [131, 132, 133, 137, 138, 140, 141, 143, 144, 145, 146, 147, 148, 151, 155, 156, 158, 162, 163, 164, 165, 166, 167, 168, 172, 174, 175, 176, 177, 179, 180, 182, 183, 185, 189, 190, 191, 192, 193, 194, 195, 199, 200, 202, 203, 205, 207, 210, 211, 212, 213, 214, 215, 216, 230, 231, 234, 236, 237, 239, 240, 241, 242, 243, 244, 245, 247, 250, 251, 253, 255, 256, 257, 261, 262, 263, 264, 265, 266, 267, 271, 272, 275, 276, 277, 278, 282, 283, 289, 291, 292, 293, 294, 295, 296, 297, 306, 308, 310, 311, 312, 313, 314, 315, 316, 318, 319, 320, 323, 324, 325, 326, 328, 329, 330, 336, 338, 339, 340, 341, 342, 343, 347, 361], "excluded_lines": [], "start_line": 121}, "Settings": {"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": [406, 409, 410, 413, 420, 423], "excluded_lines": [], "start_line": 376}, "Settings.settings_customise_sources.SecretsManagerSource": {"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": [411, 415, 416, 418, 421], "excluded_lines": [], "start_line": 409}, "": {"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": [14, 15, 16, 17, 18, 19, 21, 24, 30, 33, 37, 48, 56, 63, 68, 75, 80, 85, 92, 97, 102, 110, 113, 116, 117, 118, 121, 130, 135, 153, 170, 197, 218, 259, 269, 280, 299, 365, 368, 371, 372, 373, 376, 385, 391, 392, 433, 435, 438], "excluded_lines": [], "start_line": 1}}}, "src/core/storage.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 158, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 158, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 22, 25, 26, 29, 44, 45, 46, 49, 50, 52, 71, 72, 73, 75, 78, 81, 82, 85, 88, 91, 92, 94, 96, 98, 104, 105, 106, 107, 109, 130, 131, 132, 133, 135, 137, 142, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 159, 168, 169, 171, 176, 181, 195, 196, 197, 198, 199, 201, 204, 210, 211, 212, 213, 215, 216, 218, 220, 225, 235, 237, 248, 249, 250, 251, 252, 254, 256, 259, 265, 266, 267, 268, 269, 270, 271, 272, 275, 276, 278, 280, 282, 283, 285, 295, 296, 298, 300, 301, 302, 303, 305, 306, 308, 310, 312, 313, 314, 315, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 329, 331, 333, 334, 336, 343, 350, 351, 352, 354, 356, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 370, 372, 373, 374, 375, 376, 377, 378, 382, 384], "excluded_lines": [], "functions": {"StorageManager.__init__": {"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": [71, 72, 73, 75, 78, 81, 82, 85, 88, 91, 92, 94], "excluded_lines": [], "start_line": 52}, "StorageManager._init_local_storage": {"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": [98, 104, 105, 106, 107], "excluded_lines": [], "start_line": 96}, "StorageManager.save_file": {"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": [130, 131, 132, 133, 135], "excluded_lines": [], "start_line": 109}, "StorageManager._save_local": {"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": [142, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 159, 168, 169], "excluded_lines": [], "start_line": 137}, "StorageManager._save_s3": {"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": 171}, "StorageManager.get_file": {"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": [195, 196, 197, 198, 199], "excluded_lines": [], "start_line": 181}, "StorageManager._get_local": {"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": [204, 210, 211, 212, 213, 215, 216], "excluded_lines": [], "start_line": 201}, "StorageManager._get_s3": {"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": [220], "excluded_lines": [], "start_line": 218}, "StorageManager.get_upload_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [235], "excluded_lines": [], "start_line": 225}, "StorageManager.delete_job_files": {"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": [248, 249, 250, 251, 252], "excluded_lines": [], "start_line": 237}, "StorageManager._delete_local": {"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": [256, 259, 265, 266, 267, 268, 269, 270, 271, 272, 275, 276, 278], "excluded_lines": [], "start_line": 254}, "StorageManager._delete_s3": {"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": [282, 283], "excluded_lines": [], "start_line": 280}, "StorageManager.cleanup_old_files": {"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": [295, 296, 298, 300, 301, 302, 303, 305, 306], "excluded_lines": [], "start_line": 285}, "StorageManager._cleanup_local": {"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": [310, 312, 313, 314, 315, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 329], "excluded_lines": [], "start_line": 308}, "StorageManager._cleanup_s3": {"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": [333, 334], "excluded_lines": [], "start_line": 331}, "StorageManager.get_storage_stats": {"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": [343, 350, 351, 352, 354], "excluded_lines": [], "start_line": 336}, "StorageManager._get_local_size": {"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": [358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368], "excluded_lines": [], "start_line": 356}, "StorageManager._get_local_file_count": {"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": [372, 373, 374, 375, 376, 377, 378], "excluded_lines": [], "start_line": 370}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 22, 25, 26, 29, 44, 45, 46, 49, 50, 52, 96, 109, 137, 171, 181, 201, 218, 225, 237, 254, 280, 285, 308, 331, 336, 356, 370, 382, 384], "excluded_lines": [], "start_line": 1}}, "classes": {"StorageBackend": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "StorageManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 121, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 121, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [71, 72, 73, 75, 78, 81, 82, 85, 88, 91, 92, 94, 98, 104, 105, 106, 107, 130, 131, 132, 133, 135, 142, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 159, 168, 169, 176, 195, 196, 197, 198, 199, 204, 210, 211, 212, 213, 215, 216, 220, 235, 248, 249, 250, 251, 252, 256, 259, 265, 266, 267, 268, 269, 270, 271, 272, 275, 276, 278, 282, 283, 295, 296, 298, 300, 301, 302, 303, 305, 306, 310, 312, 313, 314, 315, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 329, 333, 334, 343, 350, 351, 352, 354, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 372, 373, 374, 375, 376, 377, 378], "excluded_lines": [], "start_line": 29}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 22, 25, 26, 29, 44, 45, 46, 49, 50, 52, 96, 109, 137, 171, 181, 201, 218, 225, 237, 254, 280, 285, 308, 331, 336, 356, 370, 382, 384], "excluded_lines": [], "start_line": 1}}}, "src/file_processor.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 399, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 399, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 20, 27, 28, 29, 30, 31, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 56, 62, 68, 69, 71, 76, 77, 79, 81, 83, 84, 85, 86, 87, 89, 93, 94, 95, 96, 97, 98, 99, 100, 103, 105, 106, 107, 108, 109, 111, 112, 114, 115, 117, 118, 119, 120, 123, 124, 126, 127, 128, 129, 131, 134, 136, 140, 143, 144, 147, 148, 151, 152, 155, 158, 160, 161, 162, 164, 165, 168, 169, 171, 172, 176, 177, 178, 182, 183, 184, 185, 189, 192, 199, 200, 201, 202, 206, 213, 214, 219, 220, 221, 222, 223, 224, 227, 228, 229, 230, 233, 234, 235, 236, 237, 240, 241, 242, 243, 248, 249, 250, 252, 253, 255, 258, 259, 260, 261, 265, 268, 269, 273, 274, 275, 280, 282, 283, 284, 288, 291, 297, 298, 301, 302, 306, 310, 313, 314, 315, 318, 320, 321, 322, 323, 324, 326, 327, 328, 331, 332, 333, 334, 342, 347, 350, 351, 352, 359, 362, 363, 367, 371, 372, 383, 384, 385, 386, 390, 394, 395, 396, 397, 398, 399, 400, 401, 404, 416, 419, 421, 427, 430, 431, 433, 435, 436, 441, 442, 443, 444, 446, 449, 450, 453, 460, 461, 462, 465, 468, 469, 470, 472, 476, 477, 478, 479, 480, 481, 482, 483, 486, 487, 488, 495, 497, 498, 500, 501, 502, 503, 504, 506, 507, 508, 509, 511, 512, 513, 516, 517, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 534, 535, 536, 537, 538, 540, 543, 544, 547, 548, 549, 550, 551, 552, 556, 557, 558, 560, 561, 564, 565, 566, 570, 571, 574, 578, 579, 580, 582, 584, 592, 596, 597, 598, 599, 600, 602, 603, 604, 605, 608, 609, 611, 612, 615, 616, 617, 619, 621, 622, 623, 624, 626, 627, 629, 632, 634, 636, 637, 638, 640, 642, 644, 647, 648, 649, 651, 652, 653, 655, 656, 659, 660, 662, 663, 664, 668, 670, 671, 672, 673, 676, 678, 684, 687, 688, 689, 691, 692, 693, 698, 701, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 728, 729, 731, 737, 738, 742, 743, 746, 748, 749, 750, 753, 754, 755, 759, 760, 761, 765], "excluded_lines": [], "functions": {"FileProcessor._sanitize_filename": {"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": [76, 77, 79, 81, 83, 84, 85, 86, 87], "excluded_lines": [], "start_line": 71}, "FileProcessor._is_safe_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [93, 94, 95, 96, 97, 98, 99, 100, 103, 105, 106, 107, 108, 109, 111, 112, 114, 115, 117, 118, 119, 120, 123, 124, 126, 127, 128, 129, 131, 134], "excluded_lines": [], "start_line": 89}, "FileProcessor.validate_upload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [140, 143, 144, 147, 148, 151, 152, 155, 158, 160, 161, 162, 164, 165, 168, 169, 171, 172, 176, 177, 178, 182, 183, 184, 185, 189, 192, 199, 200, 201, 202], "excluded_lines": [], "start_line": 136}, "FileProcessor.validate_downloaded_file": {"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": [213, 214, 219, 220, 221, 222, 223, 224, 227, 228, 229, 230, 233, 234, 235, 236, 237, 240, 241, 242, 243, 248, 249, 250, 252, 253, 255, 258, 259, 260, 261, 265, 268, 269, 273, 274, 275, 280, 282, 283, 284, 288, 291, 297, 298, 301, 302], "excluded_lines": [], "start_line": 206}, "FileProcessor.scan_for_malware": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [310, 313, 314, 315, 318, 320, 321, 322, 323, 324, 326, 327, 328, 331, 332, 333, 334, 342, 347, 350, 351, 352, 359, 362, 363, 367, 371, 372, 383, 384, 385, 386, 390, 394, 395, 396, 397, 398, 399, 400, 401, 404, 416, 419], "excluded_lines": [], "start_line": 306}, "FileProcessor.extract_mod_files": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [427, 430, 431, 433, 435, 436, 441, 442, 443, 444, 446, 449, 450, 453, 460, 461, 462, 465, 468, 469, 470, 472, 476, 477, 478, 479, 480, 481, 482, 483, 486, 487, 488, 495, 497, 498, 500, 501, 502, 503, 504, 506, 507, 508, 509, 511, 512, 513, 516, 517, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 534, 535, 536, 537, 538, 540, 543, 544, 547, 548, 549, 550, 551, 552, 556, 557, 558, 560, 561, 564, 565, 566, 570, 571, 574, 578, 579, 580, 582, 584], "excluded_lines": [], "start_line": 421}, "FileProcessor.download_from_url": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [596, 597, 598, 599, 600, 602, 603, 604, 605, 608, 609, 611, 612, 615, 616, 617, 619, 621, 622, 623, 624, 626, 627, 629, 632, 634, 636, 637, 638, 640, 642, 644, 647, 648, 649, 651, 652, 653, 655, 656, 659, 660, 662, 663, 664, 668, 670, 671, 672, 673, 676, 678, 684, 687, 688, 689, 691, 692, 693, 698, 701, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 728, 729], "excluded_lines": [], "start_line": 592}, "FileProcessor.cleanup_temp_files": {"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": [737, 738, 742, 743, 746, 748, 749, 750, 753, 754, 755, 759, 760, 761, 765], "excluded_lines": [], "start_line": 731}, "": {"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": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 20, 27, 28, 29, 30, 31, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 56, 62, 68, 69, 71, 89, 136, 206, 306, 421, 592, 731], "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": 27}, "ScanResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "ExtractionResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "DownloadResult": {"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": 48}, "FileProcessor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 350, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 350, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [76, 77, 79, 81, 83, 84, 85, 86, 87, 93, 94, 95, 96, 97, 98, 99, 100, 103, 105, 106, 107, 108, 109, 111, 112, 114, 115, 117, 118, 119, 120, 123, 124, 126, 127, 128, 129, 131, 134, 140, 143, 144, 147, 148, 151, 152, 155, 158, 160, 161, 162, 164, 165, 168, 169, 171, 172, 176, 177, 178, 182, 183, 184, 185, 189, 192, 199, 200, 201, 202, 213, 214, 219, 220, 221, 222, 223, 224, 227, 228, 229, 230, 233, 234, 235, 236, 237, 240, 241, 242, 243, 248, 249, 250, 252, 253, 255, 258, 259, 260, 261, 265, 268, 269, 273, 274, 275, 280, 282, 283, 284, 288, 291, 297, 298, 301, 302, 310, 313, 314, 315, 318, 320, 321, 322, 323, 324, 326, 327, 328, 331, 332, 333, 334, 342, 347, 350, 351, 352, 359, 362, 363, 367, 371, 372, 383, 384, 385, 386, 390, 394, 395, 396, 397, 398, 399, 400, 401, 404, 416, 419, 427, 430, 431, 433, 435, 436, 441, 442, 443, 444, 446, 449, 450, 453, 460, 461, 462, 465, 468, 469, 470, 472, 476, 477, 478, 479, 480, 481, 482, 483, 486, 487, 488, 495, 497, 498, 500, 501, 502, 503, 504, 506, 507, 508, 509, 511, 512, 513, 516, 517, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 534, 535, 536, 537, 538, 540, 543, 544, 547, 548, 549, 550, 551, 552, 556, 557, 558, 560, 561, 564, 565, 566, 570, 571, 574, 578, 579, 580, 582, 584, 596, 597, 598, 599, 600, 602, 603, 604, 605, 608, 609, 611, 612, 615, 616, 617, 619, 621, 622, 623, 624, 626, 627, 629, 632, 634, 636, 637, 638, 640, 642, 644, 647, 648, 649, 651, 652, 653, 655, 656, 659, 660, 662, 663, 664, 668, 670, 671, 672, 673, 676, 678, 684, 687, 688, 689, 691, 692, 693, 698, 701, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 728, 729, 737, 738, 742, 743, 746, 748, 749, 750, 753, 754, 755, 759, 760, 761, 765], "excluded_lines": [], "start_line": 56}, "": {"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": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 20, 27, 28, 29, 30, 31, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 48, 49, 50, 51, 52, 56, 62, 68, 69, 71, 89, 136, 206, 306, 421, 592, 731], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/__init__.py": {"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": [8, 10], "excluded_lines": [], "functions": {"": {"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": [8, 10], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [8, 10], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/pipeline.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 91, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 91, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 25, 28, 31, 45, 52, 53, 54, 55, 56, 57, 60, 61, 63, 66, 67, 68, 70, 76, 78, 83, 105, 113, 115, 116, 118, 121, 122, 125, 126, 127, 130, 131, 132, 134, 135, 136, 139, 140, 141, 142, 143, 146, 147, 148, 149, 150, 153, 154, 157, 159, 174, 176, 183, 185, 186, 187, 190, 191, 192, 198, 199, 201, 202, 203, 204, 206, 208, 219, 220, 221, 222, 225, 228, 230, 236, 248, 249, 251, 267], "excluded_lines": [], "functions": {"IngestionPipeline.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [52, 53, 54, 55, 56, 57, 60, 61], "excluded_lines": [], "start_line": 45}, "IngestionPipeline._load_sources": {"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": [66, 67, 68, 70], "excluded_lines": [], "start_line": 63}, "IngestionPipeline._load_processors": {"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": [78], "excluded_lines": [], "start_line": 76}, "IngestionPipeline.ingest_source": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [105, 113, 115, 116, 118, 121, 122, 125, 126, 127, 130, 131, 132, 134, 135, 136, 139, 140, 141, 142, 143, 146, 147, 148, 149, 150, 153, 154, 157, 159, 174, 176, 183, 185, 186, 187, 190, 191, 192, 198, 199, 201, 202, 203, 204, 206], "excluded_lines": [], "start_line": 83}, "IngestionPipeline._process_document": {"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": [219, 220, 221, 222, 225, 228, 230], "excluded_lines": [], "start_line": 208}, "IngestionPipeline._chunk_document": {"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": [248, 249], "excluded_lines": [], "start_line": 236}, "IngestionPipeline._generate_embedding": {"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": 251}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 25, 28, 31, 45, 63, 76, 83, 208, 236, 251], "excluded_lines": [], "start_line": 1}}, "classes": {"IngestionPipeline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 69, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 69, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [52, 53, 54, 55, 56, 57, 60, 61, 66, 67, 68, 70, 78, 105, 113, 115, 116, 118, 121, 122, 125, 126, 127, 130, 131, 132, 134, 135, 136, 139, 140, 141, 142, 143, 146, 147, 148, 149, 150, 153, 154, 157, 159, 174, 176, 183, 185, 186, 187, 190, 191, 192, 198, 199, 201, 202, 203, 204, 206, 219, 220, 221, 222, 225, 228, 230, 248, 249, 267], "excluded_lines": [], "start_line": 31}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 25, 28, 31, 45, 63, 76, 83, 208, 236, 251], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/processors/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/processors/html.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": [7, 8, 9, 10, 11, 14, 17, 29, 32, 46, 55, 68, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 107, 109, 115, 116, 118, 124, 127, 128, 129, 132, 133, 134, 135, 136, 138, 145, 146, 147, 149, 150, 151, 154, 155, 156, 158, 160, 172, 173, 174, 177, 178, 179, 182, 184, 191, 194, 195, 196, 197, 200, 203, 204, 205, 206, 207, 208, 209, 211, 217, 219, 226, 228, 229, 230, 231, 232, 237, 239, 246, 248, 249, 250, 251, 252, 257], "excluded_lines": [], "functions": {"HTMLProcessor.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 46], "excluded_lines": [], "start_line": 29}, "HTMLProcessor.process": {"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": [68, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 107, 109, 115, 116, 118], "excluded_lines": [], "start_line": 55}, "HTMLProcessor._remove_unwanted": {"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": [127, 128, 129, 132, 133, 134, 135, 136], "excluded_lines": [], "start_line": 124}, "HTMLProcessor._extract_main_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [145, 146, 147, 149, 150, 151, 154, 155, 156, 158], "excluded_lines": [], "start_line": 138}, "HTMLProcessor._extract_title": {"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": [172, 173, 174, 177, 178, 179, 182], "excluded_lines": [], "start_line": 160}, "HTMLProcessor._extract_code_blocks": {"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": [191, 194, 195, 196, 197, 200, 203, 204, 205, 206, 207, 208, 209, 211, 217], "excluded_lines": [], "start_line": 184}, "HTMLProcessor._extract_links": {"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": [226, 228, 229, 230, 231, 232, 237], "excluded_lines": [], "start_line": 219}, "HTMLProcessor._extract_headings": {"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": [246, 248, 249, 250, 251, 252, 257], "excluded_lines": [], "start_line": 239}, "": {"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, 8, 9, 10, 11, 14, 17, 29, 55, 124, 138, 160, 184, 219, 239], "excluded_lines": [], "start_line": 1}}, "classes": {"HTMLProcessor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 72, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 72, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [32, 46, 68, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 107, 109, 115, 116, 118, 127, 128, 129, 132, 133, 134, 135, 136, 145, 146, 147, 149, 150, 151, 154, 155, 156, 158, 172, 173, 174, 177, 178, 179, 182, 191, 194, 195, 196, 197, 200, 203, 204, 205, 206, 207, 208, 209, 211, 217, 226, 228, 229, 230, 231, 232, 237, 246, 248, 249, 250, 251, 252, 257], "excluded_lines": [], "start_line": 17}, "": {"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, 8, 9, 10, 11, 14, 17, 29, 55, 124, 138, 160, 184, 219, 239], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/processors/markdown.py": {"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": [7, 8, 9, 10, 11, 14, 17, 29, 31, 42, 55, 57, 60, 63, 66, 69, 72, 75, 78, 88, 90, 96, 97, 99, 105, 117, 118, 119, 120, 121, 122, 125, 127, 137, 140, 141, 143, 144, 145, 146, 148, 154, 156, 167, 168, 171, 172], "excluded_lines": [], "functions": {"MarkdownProcessor.__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": [31], "excluded_lines": [], "start_line": 29}, "MarkdownProcessor.process": {"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": [55, 57, 60, 63, 66, 69, 72, 75, 78, 88, 90, 96, 97, 99], "excluded_lines": [], "start_line": 42}, "MarkdownProcessor._extract_title": {"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": [117, 118, 119, 120, 121, 122, 125], "excluded_lines": [], "start_line": 105}, "MarkdownProcessor._extract_code_blocks": {"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": [137, 140, 141, 143, 144, 145, 146, 148, 154], "excluded_lines": [], "start_line": 127}, "MarkdownProcessor._count_words": {"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": [167, 168, 171, 172], "excluded_lines": [], "start_line": 156}, "": {"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": [7, 8, 9, 10, 11, 14, 17, 29, 42, 105, 127, 156], "excluded_lines": [], "start_line": 1}}, "classes": {"MarkdownProcessor": {"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": [31, 55, 57, 60, 63, 66, 69, 72, 75, 78, 88, 90, 96, 97, 99, 117, 118, 119, 120, 121, 122, 125, 137, 140, 141, 143, 144, 145, 146, 148, 154, 167, 168, 171, 172], "excluded_lines": [], "start_line": 17}, "": {"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": [7, 8, 9, 10, 11, 14, 17, 29, 42, 105, 127, 156], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/sources/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 12, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 12, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 12, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/sources/base.py": {"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": [7, 8, 9, 10, 13, 15, 16, 17, 18, 21, 22, 32, 33, 34, 35, 36, 38, 40, 41, 44, 53, 54, 68, 70, 71, 81], "excluded_lines": [], "functions": {"RawDocument.__post_init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41], "excluded_lines": [], "start_line": 38}, "BaseSourceAdapter.fetch": {"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": 54}, "BaseSourceAdapter.validate_config": {"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": [81], "excluded_lines": [], "start_line": 71}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 13, 15, 16, 17, 18, 21, 22, 32, 33, 34, 35, 36, 38, 44, 53, 54, 70, 71], "excluded_lines": [], "start_line": 1}}, "classes": {"DocumentType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "RawDocument": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41], "excluded_lines": [], "start_line": 22}, "BaseSourceAdapter": {"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": [68, 81], "excluded_lines": [], "start_line": 44}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 13, 15, 16, 17, 18, 21, 22, 32, 33, 34, 35, 36, 38, 44, 53, 54, 70, 71], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/sources/bedrock_docs.py": {"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": [7, 8, 9, 10, 13, 16, 19, 26, 27, 28, 30, 46, 47, 48, 50, 52, 53, 54, 55, 57, 59, 61, 62, 63, 64, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104, 106, 117, 118, 119, 122, 123, 124, 127, 128, 129, 131], "excluded_lines": [], "functions": {"BedrockDocsAdapter.fetch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [46, 47, 48, 50, 52, 53, 54, 55, 57, 59, 61, 62, 63, 64, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104], "excluded_lines": [], "start_line": 30}, "BedrockDocsAdapter.validate_config": {"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": [117, 118, 119, 122, 123, 124, 127, 128, 129, 131], "excluded_lines": [], "start_line": 106}, "": {"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": [7, 8, 9, 10, 13, 16, 19, 26, 27, 28, 30, 106], "excluded_lines": [], "start_line": 1}}, "classes": {"BedrockDocsAdapter": {"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": [46, 47, 48, 50, 52, 53, 54, 55, 57, 59, 61, 62, 63, 64, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104, 117, 118, 119, 122, 123, 124, 127, 128, 129, 131], "excluded_lines": [], "start_line": 19}, "": {"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": [7, 8, 9, 10, 13, 16, 19, 26, 27, 28, 30, 106], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/sources/fabric_docs.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 13, 16, 19, 26, 27, 29, 45, 46, 47, 49, 51, 52, 53, 54, 56, 58, 60, 61, 62, 63, 66, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104, 106, 118, 119, 120, 123, 124, 125, 127], "excluded_lines": [], "functions": {"FabricDocsAdapter.fetch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [45, 46, 47, 49, 51, 52, 53, 54, 56, 58, 60, 61, 62, 63, 66, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104], "excluded_lines": [], "start_line": 29}, "FabricDocsAdapter.validate_config": {"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": [118, 119, 120, 123, 124, 125, 127], "excluded_lines": [], "start_line": 106}, "": {"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": [7, 8, 9, 10, 13, 16, 19, 26, 27, 29, 106], "excluded_lines": [], "start_line": 1}}, "classes": {"FabricDocsAdapter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [45, 46, 47, 49, 51, 52, 53, 54, 56, 58, 60, 61, 62, 63, 66, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104, 118, 119, 120, 123, 124, 125, 127], "excluded_lines": [], "start_line": 19}, "": {"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": [7, 8, 9, 10, 13, 16, 19, 26, 27, 29, 106], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/sources/forge_docs.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 13, 16, 19, 26, 27, 29, 45, 46, 47, 49, 51, 52, 53, 54, 56, 58, 60, 61, 62, 63, 66, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104, 106, 118, 119, 120, 123, 124, 125, 127], "excluded_lines": [], "functions": {"ForgeDocsAdapter.fetch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [45, 46, 47, 49, 51, 52, 53, 54, 56, 58, 60, 61, 62, 63, 66, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104], "excluded_lines": [], "start_line": 29}, "ForgeDocsAdapter.validate_config": {"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": [118, 119, 120, 123, 124, 125, 127], "excluded_lines": [], "start_line": 106}, "": {"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": [7, 8, 9, 10, 13, 16, 19, 26, 27, 29, 106], "excluded_lines": [], "start_line": 1}}, "classes": {"ForgeDocsAdapter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [45, 46, 47, 49, 51, 52, 53, 54, 56, 58, 60, 61, 62, 63, 66, 67, 70, 73, 81, 83, 91, 93, 94, 95, 97, 98, 99, 101, 102, 104, 118, 119, 120, 123, 124, 125, 127], "excluded_lines": [], "start_line": 19}, "": {"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": [7, 8, 9, 10, 13, 16, 19, 26, 27, 29, 106], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/validators/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/ingestion/validators/quality.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 13, 16, 17, 26, 27, 28, 31, 41, 42, 43, 45, 56, 57, 60, 61, 63, 64, 67, 68, 71, 72, 74, 75, 78, 79, 82, 83, 86, 88, 94, 105, 108, 109, 111, 113, 115, 126, 127, 130, 131, 134, 135, 136, 138], "excluded_lines": [], "functions": {"QualityValidator.validate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [56, 57, 60, 61, 63, 64, 67, 68, 71, 72, 74, 75, 78, 79, 82, 83, 86, 88], "excluded_lines": [], "start_line": 45}, "QualityValidator._is_meaningful": {"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": [105, 108, 109, 111, 113], "excluded_lines": [], "start_line": 94}, "QualityValidator._is_repetitive": {"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": [126, 127, 130, 131, 134, 135, 136, 138], "excluded_lines": [], "start_line": 115}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 13, 16, 17, 26, 27, 28, 31, 41, 42, 43, 45, 94, 115], "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": 17}, "QualityValidator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [56, 57, 60, 61, 63, 64, 67, 68, 71, 72, 74, 75, 78, 79, 82, 83, 86, 88, 105, 108, 109, 111, 113, 126, 127, 130, 131, 134, 135, 136, 138], "excluded_lines": [], "start_line": 31}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 13, 16, 17, 26, 27, 28, 31, 41, 42, 43, 45, 94, 115], "excluded_lines": [], "start_line": 1}}}, "src/java_analyzer_agent.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 161, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 161, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [6, 7, 8, 9, 10, 11, 13, 16, 22, 24, 26, 40, 41, 42, 49, 50, 53, 54, 55, 56, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 75, 76, 77, 79, 80, 81, 82, 84, 86, 87, 88, 95, 100, 101, 106, 107, 109, 118, 121, 122, 124, 125, 127, 130, 132, 133, 135, 136, 137, 140, 141, 142, 143, 146, 148, 154, 155, 156, 158, 161, 164, 165, 166, 168, 169, 170, 172, 174, 181, 183, 184, 186, 187, 190, 191, 193, 194, 195, 197, 198, 200, 201, 205, 206, 207, 212, 215, 218, 219, 221, 222, 224, 226, 232, 233, 234, 237, 238, 240, 247, 248, 249, 251, 256, 257, 258, 259, 260, 261, 262, 265, 266, 267, 268, 269, 270, 271, 272, 275, 276, 277, 278, 280, 281, 282, 283, 284, 285, 286, 288, 290, 292, 294, 295, 297, 300, 301, 304, 306, 307, 309, 311, 314, 315, 316, 317, 318, 321, 323, 326, 329], "excluded_lines": [], "functions": {"JavaAnalyzerAgent.__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": [24], "excluded_lines": [], "start_line": 22}, "JavaAnalyzerAgent.analyze_jar_for_mvp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41, 42, 49, 50, 53, 54, 55, 56, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 75, 76, 77, 79, 80, 81, 82, 84, 86, 87, 88], "excluded_lines": [], "start_line": 26}, "JavaAnalyzerAgent._find_block_texture": {"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": [100, 101, 106, 107], "excluded_lines": [], "start_line": 95}, "JavaAnalyzerAgent._extract_registry_name_from_jar": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [118, 121, 122, 124, 125, 127, 130, 132, 133, 135, 136, 137, 140, 141, 142, 143, 146], "excluded_lines": [], "start_line": 109}, "JavaAnalyzerAgent._parse_java_sources_for_register": {"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": [154, 155, 156, 158, 161, 164, 165, 166, 168, 169, 170, 172], "excluded_lines": [], "start_line": 148}, "JavaAnalyzerAgent._extract_registry_from_ast": {"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": [181, 183, 184, 186, 187, 190, 191, 193, 194, 195, 197, 198, 200, 201, 205, 206, 207, 212, 215, 218, 219, 221, 222, 224], "excluded_lines": [], "start_line": 174}, "JavaAnalyzerAgent._is_literal_in_method_context": {"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": [232, 233, 234, 237, 238], "excluded_lines": [], "start_line": 226}, "JavaAnalyzerAgent._is_block_class_name": {"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": [247, 248, 249], "excluded_lines": [], "start_line": 240}, "JavaAnalyzerAgent._extract_mod_id_from_metadata": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [256, 257, 258, 259, 260, 261, 262, 265, 266, 267, 268, 269, 270, 271, 272, 275, 276, 277, 278, 280, 281, 282, 283, 284, 285, 286, 288], "excluded_lines": [], "start_line": 251}, "JavaAnalyzerAgent._find_block_class_name": {"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": [292, 294, 295, 297, 300, 301, 304, 306, 307, 309], "excluded_lines": [], "start_line": 290}, "JavaAnalyzerAgent._class_name_to_registry_name": {"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": [314, 315, 316, 317, 318, 321, 323, 326, 329], "excluded_lines": [], "start_line": 311}, "": {"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": [6, 7, 8, 9, 10, 11, 13, 16, 22, 26, 95, 109, 148, 174, 226, 240, 251, 290, 311], "excluded_lines": [], "start_line": 1}}, "classes": {"JavaAnalyzerAgent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 142, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 142, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [24, 40, 41, 42, 49, 50, 53, 54, 55, 56, 59, 60, 63, 64, 65, 66, 69, 70, 71, 72, 75, 76, 77, 79, 80, 81, 82, 84, 86, 87, 88, 100, 101, 106, 107, 118, 121, 122, 124, 125, 127, 130, 132, 133, 135, 136, 137, 140, 141, 142, 143, 146, 154, 155, 156, 158, 161, 164, 165, 166, 168, 169, 170, 172, 181, 183, 184, 186, 187, 190, 191, 193, 194, 195, 197, 198, 200, 201, 205, 206, 207, 212, 215, 218, 219, 221, 222, 224, 232, 233, 234, 237, 238, 247, 248, 249, 256, 257, 258, 259, 260, 261, 262, 265, 266, 267, 268, 269, 270, 271, 272, 275, 276, 277, 278, 280, 281, 282, 283, 284, 285, 286, 288, 292, 294, 295, 297, 300, 301, 304, 306, 307, 309, 314, 315, 316, 317, 318, 321, 323, 326, 329], "excluded_lines": [], "start_line": 16}, "": {"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": [6, 7, 8, 9, 10, 11, 13, 16, 22, 26, 95, 109, 148, 174, 226, 240, 251, 290, 311], "excluded_lines": [], "start_line": 1}}}, "src/main.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 617, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 617, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 48, 49, 52, 70, 73, 77, 78, 81, 82, 84, 87, 89, 90, 91, 94, 97, 98, 100, 101, 102, 103, 104, 106, 107, 108, 110, 114, 117, 120, 161, 173, 174, 175, 178, 181, 182, 185, 186, 189, 190, 191, 193, 194, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 216, 219, 223, 227, 229, 230, 231, 234, 236, 237, 239, 241, 242, 243, 246, 249, 250, 251, 255, 256, 259, 260, 263, 266, 267, 268, 269, 272, 275, 276, 277, 278, 279, 280, 281, 284, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 300, 303, 304, 305, 309, 310, 312, 320, 321, 329, 330, 333, 339, 340, 341, 342, 343, 349, 350, 351, 354, 355, 356, 357, 358, 359, 360, 364, 365, 367, 369, 371, 383, 384, 386, 389, 399, 400, 402, 403, 404, 405, 407, 408, 409, 410, 411, 412, 414, 419, 421, 424, 442, 444, 449, 450, 453, 454, 459, 460, 461, 462, 463, 464, 465, 468, 473, 474, 480, 481, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 500, 505, 506, 512, 513, 518, 523, 524, 527, 528, 533, 534, 535, 536, 537, 538, 541, 542, 543, 544, 545, 548, 551, 552, 558, 559, 564, 565, 566, 567, 568, 569, 570, 571, 574, 575, 595, 596, 616, 617, 629, 630, 643, 646, 647, 650, 660, 661, 666, 667, 674, 679, 680, 681, 685, 686, 687, 688, 692, 694, 695, 699, 700, 701, 704, 707, 712, 714, 715, 717, 718, 719, 720, 721, 726, 728, 729, 733, 734, 735, 736, 737, 738, 741, 744, 745, 746, 750, 751, 755, 757, 758, 759, 760, 761, 762, 763, 767, 768, 770, 772, 773, 777, 780, 782, 783, 784, 785, 787, 789, 807, 809, 810, 811, 814, 817, 818, 820, 826, 828, 830, 831, 836, 837, 840, 841, 842, 845, 847, 848, 850, 853, 854, 855, 856, 857, 858, 859, 862, 863, 864, 867, 868, 869, 871, 873, 874, 875, 877, 878, 880, 882, 883, 885, 887, 888, 889, 890, 891, 892, 896, 897, 908, 909, 911, 913, 915, 916, 918, 919, 920, 921, 923, 929, 938, 940, 941, 945, 958, 961, 962, 965, 967, 975, 980, 992, 993, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1014, 1015, 1017, 1018, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1055, 1056, 1058, 1060, 1073, 1075, 1086, 1087, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1105, 1118, 1119, 1130, 1133, 1134, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1165, 1166, 1167, 1168, 1172, 1173, 1186, 1188, 1189, 1191, 1192, 1197, 1199, 1206, 1207, 1209, 1211, 1214, 1215, 1217, 1230, 1231, 1239, 1241, 1243, 1244, 1245, 1246, 1247, 1248, 1250, 1254, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1270, 1275, 1276, 1279, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1295, 1300, 1301, 1305, 1310, 1314, 1315, 1316, 1317, 1320, 1325, 1336, 1337, 1338, 1339, 1345, 1350, 1360, 1363, 1364, 1366, 1367, 1370, 1371, 1372, 1375, 1376, 1377, 1380, 1383, 1388, 1396, 1397, 1398, 1402, 1404, 1405, 1406, 1408, 1415, 1420, 1430, 1431, 1432, 1436, 1437, 1438, 1439, 1440, 1444, 1445, 1446, 1449, 1450, 1459, 1460, 1461, 1465, 1466, 1467, 1471, 1474, 1479, 1483, 1484, 1485, 1487, 1490, 1493, 1494, 1495, 1498, 1499, 1500, 1501, 1503, 1511, 1512, 1516], "excluded_lines": [], "functions": {"lifespan": {"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": [100, 101, 102, 103, 104, 106, 107, 108, 110], "excluded_lines": [], "start_line": 98}, "startup_event": {"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": [189, 190, 191, 193, 194], "excluded_lines": [], "start_line": 186}, "ConversionRequest.resolved_file_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [239], "excluded_lines": [], "start_line": 237}, "ConversionRequest.resolved_original_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [243], "excluded_lines": [], "start_line": 242}, "health_check": {"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": [312], "excluded_lines": [], "start_line": 310}, "upload_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [329, 330, 333, 339, 340, 341, 342, 343, 349, 350, 351, 354, 355, 356, 357, 358, 359, 360, 364, 365, 367, 369, 371], "excluded_lines": [], "start_line": 321}, "simulate_ai_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 151, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 151, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [384, 386, 389, 399, 400, 402, 403, 404, 405, 407, 408, 409, 410, 411, 412, 414, 419, 421, 442, 444, 449, 450, 453, 454, 459, 460, 461, 462, 463, 464, 465, 468, 473, 474, 480, 481, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 500, 505, 506, 512, 513, 518, 523, 524, 527, 528, 533, 534, 535, 536, 537, 538, 541, 542, 543, 544, 545, 548, 551, 552, 558, 559, 564, 565, 566, 567, 568, 569, 570, 571, 574, 575, 595, 596, 616, 617, 629, 630, 643, 646, 647, 650, 660, 661, 666, 667, 674, 679, 680, 681, 685, 686, 687, 688, 692, 694, 695, 699, 700, 701, 704, 707, 712, 714, 715, 717, 718, 719, 720, 721, 726, 728, 729, 733, 734, 735, 736, 737, 738, 741, 744, 745, 746, 750, 751, 755, 757, 758, 759, 760, 761, 762, 763, 767, 768, 770, 772, 773, 777], "excluded_lines": [], "start_line": 383}, "simulate_ai_conversion.mirror_dict_from_job": {"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": [424], "excluded_lines": [], "start_line": 421}, "call_ai_engine_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [782, 783, 784, 785, 787, 807, 809, 810, 811, 814, 817, 818, 820, 826, 828, 830, 831, 836, 837, 840, 841, 842, 845, 847, 848, 850, 853, 854, 855, 856, 857, 858, 859, 862, 863, 864, 867, 868, 869, 871, 873, 874, 875, 877, 878, 880, 882, 883, 885, 887, 888, 889, 890, 891, 892], "excluded_lines": [], "start_line": 780}, "call_ai_engine_conversion.mirror_dict_from_job": {"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": [789], "excluded_lines": [], "start_line": 787}, "start_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [908, 909, 911, 913, 915, 916, 918, 919, 920, 921, 923, 929, 938, 940, 941, 945, 958, 961, 962, 965, 967], "excluded_lines": [], "start_line": 897}, "get_conversion_status": {"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": [992, 993, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1014, 1015, 1017, 1018, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1055, 1056, 1058, 1060, 1073, 1075], "excluded_lines": [], "start_line": 980}, "list_conversions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1105, 1118, 1119, 1130], "excluded_lines": [], "start_line": 1087}, "cancel_conversion": {"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": [1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1165, 1166, 1167, 1168], "excluded_lines": [], "start_line": 1134}, "download_converted_mod": {"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": [1186, 1188, 1189, 1191, 1192, 1197, 1199, 1206, 1207, 1209, 1211, 1214, 1215, 1217], "excluded_lines": [], "start_line": 1173}, "try_ai_engine_or_fallback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1241, 1243, 1244, 1245, 1246, 1247, 1248, 1250], "excluded_lines": [], "start_line": 1239}, "get_conversion_report": {"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": [1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1270, 1275, 1276], "excluded_lines": [], "start_line": 1259}, "get_conversion_report_prd": {"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": [1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1295, 1300, 1301], "excluded_lines": [], "start_line": 1284}, "read_addon_details": {"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": [1314, 1315, 1316, 1317], "excluded_lines": [], "start_line": 1310}, "upsert_addon_details": {"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": [1336, 1337, 1338, 1339], "excluded_lines": [], "start_line": 1325}, "create_addon_asset_endpoint": {"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": [1360, 1363, 1364, 1366, 1367, 1370, 1371, 1372, 1375, 1376, 1377, 1380], "excluded_lines": [], "start_line": 1350}, "get_addon_asset_file": {"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": [1396, 1397, 1398, 1402, 1404, 1405, 1406, 1408], "excluded_lines": [], "start_line": 1388}, "update_addon_asset_endpoint": {"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": [1430, 1431, 1432, 1436, 1437, 1438, 1439, 1440, 1444, 1445, 1446], "excluded_lines": [], "start_line": 1420}, "delete_addon_asset_endpoint": {"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": [1459, 1460, 1461, 1465, 1466, 1467, 1471], "excluded_lines": [], "start_line": 1450}, "export_addon_mcaddon": {"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": [1483, 1484, 1485, 1487, 1490, 1493, 1494, 1495, 1498, 1499, 1500, 1501, 1503], "excluded_lines": [], "start_line": 1479}, "metrics": {"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": [1516], "excluded_lines": [], "start_line": 1512}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 163, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 163, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 48, 49, 52, 70, 73, 77, 78, 81, 82, 84, 87, 89, 90, 91, 94, 97, 98, 114, 117, 120, 161, 173, 174, 175, 178, 181, 182, 185, 186, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 216, 219, 223, 227, 229, 230, 231, 234, 236, 237, 241, 242, 246, 249, 250, 251, 255, 256, 259, 260, 263, 266, 267, 268, 269, 272, 275, 276, 277, 278, 279, 280, 281, 284, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 300, 303, 304, 305, 309, 310, 320, 321, 383, 780, 896, 897, 975, 980, 1086, 1087, 1133, 1134, 1172, 1173, 1230, 1231, 1239, 1254, 1259, 1279, 1284, 1305, 1310, 1320, 1325, 1345, 1350, 1383, 1388, 1415, 1420, 1449, 1450, 1474, 1479, 1511, 1512], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionRequest": {"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": [239, 243], "excluded_lines": [], "start_line": 223}, "UploadResponse": {"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": 246}, "ConversionResponse": {"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": 263}, "ConversionStatus": {"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": 272}, "ConversionJob": {"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": 284}, "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": 300}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 615, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 615, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 41, 42, 48, 49, 52, 70, 73, 77, 78, 81, 82, 84, 87, 89, 90, 91, 94, 97, 98, 100, 101, 102, 103, 104, 106, 107, 108, 110, 114, 117, 120, 161, 173, 174, 175, 178, 181, 182, 185, 186, 189, 190, 191, 193, 194, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 216, 219, 223, 227, 229, 230, 231, 234, 236, 237, 241, 242, 246, 249, 250, 251, 255, 256, 259, 260, 263, 266, 267, 268, 269, 272, 275, 276, 277, 278, 279, 280, 281, 284, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 300, 303, 304, 305, 309, 310, 312, 320, 321, 329, 330, 333, 339, 340, 341, 342, 343, 349, 350, 351, 354, 355, 356, 357, 358, 359, 360, 364, 365, 367, 369, 371, 383, 384, 386, 389, 399, 400, 402, 403, 404, 405, 407, 408, 409, 410, 411, 412, 414, 419, 421, 424, 442, 444, 449, 450, 453, 454, 459, 460, 461, 462, 463, 464, 465, 468, 473, 474, 480, 481, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 500, 505, 506, 512, 513, 518, 523, 524, 527, 528, 533, 534, 535, 536, 537, 538, 541, 542, 543, 544, 545, 548, 551, 552, 558, 559, 564, 565, 566, 567, 568, 569, 570, 571, 574, 575, 595, 596, 616, 617, 629, 630, 643, 646, 647, 650, 660, 661, 666, 667, 674, 679, 680, 681, 685, 686, 687, 688, 692, 694, 695, 699, 700, 701, 704, 707, 712, 714, 715, 717, 718, 719, 720, 721, 726, 728, 729, 733, 734, 735, 736, 737, 738, 741, 744, 745, 746, 750, 751, 755, 757, 758, 759, 760, 761, 762, 763, 767, 768, 770, 772, 773, 777, 780, 782, 783, 784, 785, 787, 789, 807, 809, 810, 811, 814, 817, 818, 820, 826, 828, 830, 831, 836, 837, 840, 841, 842, 845, 847, 848, 850, 853, 854, 855, 856, 857, 858, 859, 862, 863, 864, 867, 868, 869, 871, 873, 874, 875, 877, 878, 880, 882, 883, 885, 887, 888, 889, 890, 891, 892, 896, 897, 908, 909, 911, 913, 915, 916, 918, 919, 920, 921, 923, 929, 938, 940, 941, 945, 958, 961, 962, 965, 967, 975, 980, 992, 993, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1014, 1015, 1017, 1018, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1055, 1056, 1058, 1060, 1073, 1075, 1086, 1087, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1105, 1118, 1119, 1130, 1133, 1134, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1165, 1166, 1167, 1168, 1172, 1173, 1186, 1188, 1189, 1191, 1192, 1197, 1199, 1206, 1207, 1209, 1211, 1214, 1215, 1217, 1230, 1231, 1239, 1241, 1243, 1244, 1245, 1246, 1247, 1248, 1250, 1254, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1270, 1275, 1276, 1279, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1295, 1300, 1301, 1305, 1310, 1314, 1315, 1316, 1317, 1320, 1325, 1336, 1337, 1338, 1339, 1345, 1350, 1360, 1363, 1364, 1366, 1367, 1370, 1371, 1372, 1375, 1376, 1377, 1380, 1383, 1388, 1396, 1397, 1398, 1402, 1404, 1405, 1406, 1408, 1415, 1420, 1430, 1431, 1432, 1436, 1437, 1438, 1439, 1440, 1444, 1445, 1446, 1449, 1450, 1459, 1460, 1461, 1465, 1466, 1467, 1471, 1474, 1479, 1483, 1484, 1485, 1487, 1490, 1493, 1494, 1495, 1498, 1499, 1500, 1501, 1503, 1511, 1512, 1516], "excluded_lines": [], "start_line": 1}}}, "src/models/__init__.py": {"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": [2, 13], "excluded_lines": [], "functions": {"": {"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": [2, 13], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [2, 13], "excluded_lines": [], "start_line": 1}}}, "src/models/addon_models.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 8, 9, 10, 12, 16, 17, 20, 21, 24, 25, 28, 29, 30, 34, 35, 38, 39, 42, 43, 46, 47, 48, 52, 53, 54, 55, 58, 59, 62, 63, 66, 67, 68, 72, 73, 74, 77, 78, 81, 82, 87, 88, 89, 90, 94, 95, 96, 97, 100, 101, 102, 103, 106, 107, 108, 109, 113, 114, 118, 119, 120, 121, 127, 128, 129, 131, 132, 133, 135, 154, 155, 156, 158], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 8, 9, 10, 12, 16, 17, 20, 21, 24, 25, 28, 29, 30, 34, 35, 38, 39, 42, 43, 46, 47, 48, 52, 53, 54, 55, 58, 59, 62, 63, 66, 67, 68, 72, 73, 74, 77, 78, 81, 82, 87, 88, 89, 90, 94, 95, 96, 97, 100, 101, 102, 103, 106, 107, 108, 109, 113, 114, 118, 119, 120, 121, 127, 128, 129, 131, 132, 133, 135, 154, 155, 156, 158], "excluded_lines": [], "start_line": 1}}, "classes": {"TimestampsModel": {"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}, "AddonBehaviorBase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "AddonBehaviorCreate": {"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": 20}, "AddonBehaviorUpdate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "AddonBehavior": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28}, "AddonRecipeBase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "AddonRecipeCreate": {"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": 38}, "AddonRecipeUpdate": {"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": 42}, "AddonRecipe": {"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": 46}, "AddonAssetBase": {"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": 52}, "AddonAssetCreate": {"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": 58}, "AddonAssetUpdate": {"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": 62}, "AddonAsset": {"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": 66}, "AddonBlockBase": {"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": 72}, "AddonBlockCreate": {"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": 77}, "AddonBlockUpdate": {"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": 81}, "AddonBlock": {"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": 87}, "AddonBase": {"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": 94}, "AddonCreate": {"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": 100}, "AddonUpdate": {"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": 106}, "Addon": {"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": 113}, "AddonDetails": {"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": 118}, "AddonDataUpload": {"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": 127}, "AddonResponse": {"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": 154}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 8, 9, 10, 12, 16, 17, 20, 21, 24, 25, 28, 29, 30, 34, 35, 38, 39, 42, 43, 46, 47, 48, 52, 53, 54, 55, 58, 59, 62, 63, 66, 67, 68, 72, 73, 74, 77, 78, 81, 82, 87, 88, 89, 90, 94, 95, 96, 97, 100, 101, 102, 103, 106, 107, 108, 109, 113, 114, 118, 119, 120, 121, 127, 128, 129, 131, 132, 133, 135, 154, 155, 156, 158], "excluded_lines": [], "start_line": 1}}}, "src/models/build_performance_models.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 100, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 100, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 17, 20, 21, 22, 23, 24, 28, 29, 31, 33, 34, 35, 36, 37, 40, 43, 44, 45, 46, 47, 48, 51, 54, 57, 60, 61, 66, 69, 72, 73, 76, 80, 81, 82, 85, 86, 89, 92, 95, 96, 97, 98, 99, 100, 101, 102, 108, 111, 112, 113, 114, 117, 120, 121, 122, 123, 126, 129, 130, 131, 132, 135, 138, 139, 140, 143, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 158, 161, 162, 163, 164, 165, 166, 167, 170, 173, 174, 175, 176, 177, 178, 179, 180, 183, 186, 187], "excluded_lines": [], "functions": {"BuildStageTiming.complete": {"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": [33, 34, 35, 36, 37], "excluded_lines": [], "start_line": 31}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 95, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 95, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 17, 20, 21, 22, 23, 24, 28, 29, 31, 40, 43, 44, 45, 46, 47, 48, 51, 54, 57, 60, 61, 66, 69, 72, 73, 76, 80, 81, 82, 85, 86, 89, 92, 95, 96, 97, 98, 99, 100, 101, 102, 108, 111, 112, 113, 114, 117, 120, 121, 122, 123, 126, 129, 130, 131, 132, 135, 138, 139, 140, 143, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 158, 161, 162, 163, 164, 165, 166, 167, 170, 173, 174, 175, 176, 177, 178, 179, 180, 183, 186, 187], "excluded_lines": [], "start_line": 1}}, "classes": {"BuildStageTiming": {"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": [33, 34, 35, 36, 37], "excluded_lines": [], "start_line": 17}, "BuildResourceUsage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "BuildPerformanceMetrics": {"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": 51}, "BuildPerformanceSnapshot": {"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": 92}, "BuildPerformanceStartRequest": {"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": 108}, "BuildPerformanceStartResponse": {"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": 117}, "BuildStageUpdateRequest": {"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": 126}, "BuildPerformanceEndRequest": {"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": 135}, "BuildPerformanceResponse": {"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": 143}, "BuildPerformanceSummary": {"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": 158}, "BuildPerformanceStats": {"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": 170}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 95, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 95, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 17, 20, 21, 22, 23, 24, 28, 29, 31, 40, 43, 44, 45, 46, 47, 48, 51, 54, 57, 60, 61, 66, 69, 72, 73, 76, 80, 81, 82, 85, 86, 89, 92, 95, 96, 97, 98, 99, 100, 101, 102, 108, 111, 112, 113, 114, 117, 120, 121, 122, 123, 126, 129, 130, 131, 132, 135, 138, 139, 140, 143, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 158, 161, 162, 163, 164, 165, 166, 167, 170, 173, 174, 175, 176, 177, 178, 179, 180, 183, 186, 187], "excluded_lines": [], "start_line": 1}}}, "src/models/cache_models.py": {"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": [1, 4, 5, 6, 7, 8], "excluded_lines": [], "functions": {"": {"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": [1, 4, 5, 6, 7, 8], "excluded_lines": [], "start_line": 1}}, "classes": {"CacheStats": {"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": 4}, "": {"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": [1, 4, 5, 6, 7, 8], "excluded_lines": [], "start_line": 1}}}, "src/models/conversion_mode.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 100, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 100, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 17, 20, 21, 23, 24, 26, 27, 29, 30, 33, 36, 37, 38, 39, 40, 41, 42, 45, 48, 49, 50, 51, 52, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 83, 86, 87, 88, 89, 92, 95, 96, 97, 98, 99, 100, 101, 103, 106, 109, 110, 111, 112, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 134, 135, 136, 137, 138, 139, 140, 141, 142, 145, 148, 149, 150, 151, 152, 153, 157, 204], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 100, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 100, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 17, 20, 21, 23, 24, 26, 27, 29, 30, 33, 36, 37, 38, 39, 40, 41, 42, 45, 48, 49, 50, 51, 52, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 83, 86, 87, 88, 89, 92, 95, 96, 97, 98, 99, 100, 101, 103, 106, 109, 110, 111, 112, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 134, 135, 136, 137, 138, 139, 140, 141, 142, 145, 148, 149, 150, 151, 152, 153, 157, 204], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionMode": {"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}, "ModeClassificationRule": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "ComplexFeature": {"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": 45}, "ModFeatures": {"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": 55}, "ClassificationConfidence": {"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": 83}, "ModeClassificationResult": {"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": 92}, "ModeClassificationRequest": {"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": 106}, "ModeClassificationResponse": {"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": 115}, "ConversionSettings": {"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": 131}, "ModeSpecificPipelineConfig": {"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": 145}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 100, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 100, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 17, 20, 21, 23, 24, 26, 27, 29, 30, 33, 36, 37, 38, 39, 40, 41, 42, 45, 48, 49, 50, 51, 52, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 83, 86, 87, 88, 89, 92, 95, 96, 97, 98, 99, 100, 101, 103, 106, 109, 110, 111, 112, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 134, 135, 136, 137, 138, 139, 140, 141, 142, 145, 148, 149, 150, 151, 152, 153, 157, 204], "excluded_lines": [], "start_line": 1}}}, "src/models/embedding_models.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 29, 32, 35, 38, 39, 45, 48, 49, 50, 51, 52, 53, 56, 59, 60, 61, 64, 67, 68, 69, 70, 71, 72, 73, 74, 76, 79, 82, 83, 84, 85, 86, 92, 95, 96, 97, 98, 99, 100, 101, 102, 105, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 29, 32, 35, 38, 39, 45, 48, 49, 50, 51, 52, 53, 56, 59, 60, 61, 64, 67, 68, 69, 70, 71, 72, 73, 74, 76, 79, 82, 83, 84, 85, 86, 92, 95, 96, 97, 98, 99, 100, 101, 102, 105, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132], "excluded_lines": [], "start_line": 1}}, "classes": {"DocumentEmbeddingCreate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "DocumentEmbeddingResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "EmbeddingSearchQuery": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24}, "EmbeddingSearchResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "EmbeddingGenerateRequest": {"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": 35}, "IndexDocumentRequest": {"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": 45}, "IndexDocumentResponse": {"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": 56}, "ChunkResponse": {"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": 64}, "DocumentWithChunksResponse": {"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": 79}, "EnhancedSearchQuery": {"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": 92}, "EnhancedSearchResult": {"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": 105}, "EnhancedSearchResponse": {"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": 120}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 82, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 82, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 29, 32, 35, 38, 39, 45, 48, 49, 50, 51, 52, 53, 56, 59, 60, 61, 64, 67, 68, 69, 70, 71, 72, 73, 74, 76, 79, 82, 83, 84, 85, 86, 92, 95, 96, 97, 98, 99, 100, 101, 102, 105, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132], "excluded_lines": [], "start_line": 1}}}, "src/models/performance_models.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81], "excluded_lines": [], "start_line": 1}}, "classes": {"PerformanceBenchmark": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7}, "PerformanceMetric": {"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}, "BenchmarkRunRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "BenchmarkRunResponse": {"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": 41}, "BenchmarkStatusResponse": {"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": 47}, "BenchmarkReportResponse": {"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": 55}, "ScenarioDefinition": {"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": 65}, "CustomScenarioRequest": {"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": 75}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 44, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81], "excluded_lines": [], "start_line": 1}}}, "src/schemas/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/schemas/report_types.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 187, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 187, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 29, 30, 33, 34, 35, 36, 37, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 60, 61, 62, 63, 64, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 95, 96, 99, 100, 101, 102, 105, 106, 107, 109, 110, 111, 112, 113, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 134, 135, 148, 149, 152, 153, 154, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 167, 169, 170, 171, 181, 182, 185, 186, 187, 188, 189, 192, 193, 194, 196, 197, 198, 199, 200, 201, 202, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 220, 221, 222, 227, 228, 229, 230, 232, 234, 291, 293, 297, 298, 299, 300, 301, 302, 305, 306, 307, 308, 309, 310, 311, 314, 315, 316, 317, 318, 319, 320, 323, 324, 325, 326, 327, 328, 329, 330, 333, 334, 335, 336, 337, 341, 343, 344, 346, 355, 357, 358, 360, 361, 362, 364, 370], "excluded_lines": [], "functions": {"SummaryReport.__post_init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61, 62, 63, 64], "excluded_lines": [], "start_line": 60}, "FeatureAnalysisItem.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": [82], "excluded_lines": [], "start_line": 81}, "FeatureAnalysis.__post_init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [110, 111, 112, 113], "excluded_lines": [], "start_line": 109}, "AssumptionReportItem.__post_init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [131, 132], "excluded_lines": [], "start_line": 130}, "AssumptionReportItem.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": [135], "excluded_lines": [], "start_line": 134}, "AssumptionsReport.__post_init__": {"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": [159, 160, 161, 162, 163, 164, 165], "excluded_lines": [], "start_line": 158}, "AssumptionsReport.add_what_changed": {"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": [169, 170, 171], "excluded_lines": [], "start_line": 167}, "DeveloperLog.__post_init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [197, 198, 199, 200, 201, 202], "excluded_lines": [], "start_line": 196}, "InteractiveReport.__post_init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [221, 222, 227, 228, 229, 230], "excluded_lines": [], "start_line": 220}, "InteractiveReport.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": [234], "excluded_lines": [], "start_line": 232}, "InteractiveReport.to_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [293], "excluded_lines": [], "start_line": 291}, "create_report_metadata": {"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": [343, 344, 346], "excluded_lines": [], "start_line": 341}, "calculate_quality_score": {"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": [357, 358, 360, 361, 362, 364, 370], "excluded_lines": [], "start_line": 355}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 141, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 141, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 29, 30, 33, 34, 35, 36, 37, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 60, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 95, 96, 99, 100, 101, 102, 105, 106, 107, 109, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 134, 148, 149, 152, 153, 154, 155, 156, 158, 167, 181, 182, 185, 186, 187, 188, 189, 192, 193, 194, 196, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 220, 232, 291, 297, 298, 299, 300, 301, 302, 305, 306, 307, 308, 309, 310, 311, 314, 315, 316, 317, 318, 319, 320, 323, 324, 325, 326, 327, 328, 329, 330, 333, 334, 335, 336, 337, 341, 355], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionStatus": {"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": 14}, "ImpactLevel": {"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": 21}, "ReportMetadata": {"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": 30}, "SummaryReport": {"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": [61, 62, 63, 64], "excluded_lines": [], "start_line": 41}, "FeatureAnalysisItem": {"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": [82], "excluded_lines": [], "start_line": 68}, "FeatureAnalysis": {"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": [110, 111, 112, 113], "excluded_lines": [], "start_line": 96}, "AssumptionReportItem": {"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": [131, 132, 135], "excluded_lines": [], "start_line": 117}, "AssumptionsReport": {"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": [159, 160, 161, 162, 163, 164, 165, 169, 170, 171], "excluded_lines": [], "start_line": 149}, "DeveloperLog": {"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": [197, 198, 199, 200, 201, 202], "excluded_lines": [], "start_line": 182}, "InteractiveReport": {"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": [221, 222, 227, 228, 229, 230, 234, 293], "excluded_lines": [], "start_line": 206}, "ModConversionStatus": {"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": 297}, "SmartAssumption": {"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": 305}, "FeatureConversionDetail": {"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": 314}, "AssumptionDetail": {"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": 323}, "LogEntry": {"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": 333}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 151, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 151, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 29, 30, 33, 34, 35, 36, 37, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 60, 67, 68, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 95, 96, 99, 100, 101, 102, 105, 106, 107, 109, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 134, 148, 149, 152, 153, 154, 155, 156, 158, 167, 181, 182, 185, 186, 187, 188, 189, 192, 193, 194, 196, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 220, 232, 291, 297, 298, 299, 300, 301, 302, 305, 306, 307, 308, 309, 310, 311, 314, 315, 316, 317, 318, 319, 320, 323, 324, 325, 326, 327, 328, 329, 330, 333, 334, 335, 336, 337, 341, 343, 344, 346, 355, 357, 358, 360, 361, 362, 364, 370], "excluded_lines": [], "start_line": 1}}}, "src/security/__init__.py": {"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": [14, 23, 29, 34], "excluded_lines": [], "functions": {"": {"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": [14, 23, 29, 34], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [14, 23, 29, 34], "excluded_lines": [], "start_line": 1}}}, "src/security/auth.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": [10, 11, 12, 14, 15, 17, 20, 23, 24, 25, 26, 27, 28, 31, 41, 44, 55, 56, 57, 59, 62, 76, 77, 78, 80, 82, 89, 90, 92, 95, 106, 107, 108, 110, 112, 119, 122, 133, 134, 135, 137, 138, 140, 141, 142, 144, 145, 146, 149, 159, 160, 161, 162, 163, 164, 165, 166, 169, 176, 179, 186, 189, 198, 199, 202, 212, 214], "excluded_lines": [], "functions": {"hash_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [41], "excluded_lines": [], "start_line": 31}, "verify_password": {"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": [55, 56, 57, 59], "excluded_lines": [], "start_line": 44}, "create_access_token": {"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": [76, 77, 78, 80, 82, 89, 90, 92], "excluded_lines": [], "start_line": 62}, "create_refresh_token": {"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": [106, 107, 108, 110, 112, 119], "excluded_lines": [], "start_line": 95}, "verify_token": {"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": [133, 134, 135, 137, 138, 140, 141, 142, 144, 145, 146], "excluded_lines": [], "start_line": 122}, "get_token_expiry": {"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": [159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "start_line": 149}, "generate_verification_token": {"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": 169}, "generate_reset_token": {"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": [186], "excluded_lines": [], "start_line": 179}, "generate_api_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [198, 199], "excluded_lines": [], "start_line": 189}, "hash_api_key": {"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": [212, 214], "excluded_lines": [], "start_line": 202}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 14, 15, 17, 20, 23, 24, 25, 26, 27, 28, 31, 44, 62, 95, 122, 149, 169, 179, 189, 202], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [10, 11, 12, 14, 15, 17, 20, 23, 24, 25, 26, 27, 28, 31, 41, 44, 55, 56, 57, 59, 62, 76, 77, 78, 80, 82, 89, 90, 92, 95, 106, 107, 108, 110, 112, 119, 122, 133, 134, 135, 137, 138, 140, 141, 142, 144, 145, 146, 149, 159, 160, 161, 162, 163, 164, 165, 166, 169, 176, 179, 186, 189, 198, 199, 202, 212, 214], "excluded_lines": [], "start_line": 1}}}, "src/security/file_security.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 247, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 247, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23, 26, 27, 28, 29, 30, 31, 32, 33, 36, 39, 40, 41, 42, 45, 46, 49, 50, 51, 52, 53, 56, 57, 60, 61, 62, 63, 64, 65, 67, 68, 70, 72, 73, 75, 77, 85, 94, 95, 98, 101, 104, 107, 108, 109, 112, 115, 116, 117, 120, 123, 124, 125, 128, 129, 133, 134, 135, 138, 139, 142, 143, 157, 158, 161, 166, 179, 192, 193, 194, 196, 198, 200, 214, 216, 217, 222, 225, 226, 229, 231, 232, 233, 234, 235, 238, 241, 247, 249, 263, 266, 268, 270, 271, 272, 274, 276, 278, 279, 280, 282, 283, 285, 287, 294, 296, 298, 300, 301, 302, 307, 308, 310, 312, 313, 314, 316, 317, 319, 320, 321, 322, 323, 325, 326, 327, 328, 329, 331, 332, 333, 334, 336, 352, 353, 354, 355, 356, 359, 360, 369, 371, 372, 374, 376, 377, 385, 386, 387, 395, 396, 399, 400, 412, 413, 414, 415, 428, 429, 430, 441, 451, 452, 454, 457, 458, 469, 470, 471, 472, 479, 480, 485, 486, 487, 493, 495, 503, 504, 505, 506, 507, 509, 510, 516, 518, 520, 521, 529, 530, 537, 538, 539, 545, 547, 550, 553, 554, 557, 558, 561, 563, 565, 575, 576, 578, 585, 587, 597, 599, 600, 603, 604, 605, 607, 610, 611, 612, 613, 616, 617, 618, 625, 626, 628, 643, 646, 647, 653, 656, 657, 658, 659, 664, 668, 679, 680], "excluded_lines": [], "functions": {"SecurityScanResult.has_critical_threats": {"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": [70], "excluded_lines": [], "start_line": 68}, "SecurityScanResult.has_high_threats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [75], "excluded_lines": [], "start_line": 73}, "SecurityScanResult.add_threat": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [85, 94, 95], "excluded_lines": [], "start_line": 77}, "ZipBombDetectedError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [108, 109], "excluded_lines": [], "start_line": 107}, "PathTraversalDetectedError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [116, 117], "excluded_lines": [], "start_line": 115}, "ResourceLimitExceededError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124, 125], "excluded_lines": [], "start_line": 123}, "FileSecurityScanner.__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": [198], "excluded_lines": [], "start_line": 196}, "FileSecurityScanner.scan_file": {"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": [214, 216, 217, 222, 225, 226, 229, 231, 232, 233, 234, 235, 238, 241, 247], "excluded_lines": [], "start_line": 200}, "FileSecurityScanner.scan_upload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [263, 266, 268, 270, 271, 272, 274, 276, 278, 279, 280, 282, 283, 285, 287, 294, 296], "excluded_lines": [], "start_line": 249}, "FileSecurityScanner._check_extension": {"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": [300, 301, 302, 307, 308], "excluded_lines": [], "start_line": 298}, "FileSecurityScanner._detect_file_type": {"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": [312, 313, 314, 316, 317, 319, 320, 321, 322, 323, 325, 326, 327, 328, 329, 331, 332, 333, 334], "excluded_lines": [], "start_line": 310}, "FileSecurityScanner._scan_zip_archive": {"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": [352, 353, 354, 355, 356, 359, 360, 369, 371, 372, 374, 376, 377, 385, 386, 387, 395, 396, 399, 400, 412, 413, 414, 415, 428, 429, 430, 441, 451, 452, 454, 457, 458, 469, 470, 471, 472, 479, 480, 485, 486, 487, 493], "excluded_lines": [], "start_line": 336}, "FileSecurityScanner._scan_tar_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [503, 504, 505, 506, 507, 509, 510, 516, 518, 520, 521, 529, 530, 537, 538, 539, 545], "excluded_lines": [], "start_line": 495}, "FileSecurityScanner._is_path_traversal": {"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": [550, 553, 554, 557, 558, 561], "excluded_lines": [], "start_line": 547}, "FileSecurityScanner._is_nested_archive": {"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": [565, 575, 576], "excluded_lines": [], "start_line": 563}, "FileSecurityScanner._scan_member_content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [585, 587, 597, 599, 600, 603, 604, 605, 607, 610, 611, 612, 613, 616, 617, 618, 625, 626], "excluded_lines": [], "start_line": 578}, "FileSecurityScanner.validate_extraction_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [643, 646, 647, 653, 656, 657, 658, 659, 664], "excluded_lines": [], "start_line": 628}, "scan_archive": {"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": [679, 680], "excluded_lines": [], "start_line": 668}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23, 26, 27, 28, 29, 30, 31, 32, 33, 36, 39, 40, 41, 42, 45, 46, 49, 50, 51, 52, 53, 56, 57, 60, 61, 62, 63, 64, 65, 67, 68, 72, 73, 77, 98, 101, 104, 107, 112, 115, 120, 123, 128, 129, 133, 134, 135, 138, 139, 142, 143, 157, 158, 161, 166, 179, 192, 193, 194, 196, 200, 249, 298, 310, 336, 495, 547, 563, 578, 628, 668], "excluded_lines": [], "start_line": 1}}, "classes": {"SecurityThreatType": {"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}, "SecuritySeverity": {"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": 36}, "SecurityThreat": {"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": 46}, "SecurityScanResult": {"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": [70, 75, 85, 94, 95], "excluded_lines": [], "start_line": 57}, "SecurityError": {"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": 98}, "ZipBombDetectedError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [108, 109], "excluded_lines": [], "start_line": 104}, "PathTraversalDetectedError": {"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": [116, 117], "excluded_lines": [], "start_line": 112}, "ResourceLimitExceededError": {"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": [124, 125], "excluded_lines": [], "start_line": 120}, "SecurityConfig": {"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": 129}, "FileSecurityScanner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 153, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 153, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [198, 214, 216, 217, 222, 225, 226, 229, 231, 232, 233, 234, 235, 238, 241, 247, 263, 266, 268, 270, 271, 272, 274, 276, 278, 279, 280, 282, 283, 285, 287, 294, 296, 300, 301, 302, 307, 308, 312, 313, 314, 316, 317, 319, 320, 321, 322, 323, 325, 326, 327, 328, 329, 331, 332, 333, 334, 352, 353, 354, 355, 356, 359, 360, 369, 371, 372, 374, 376, 377, 385, 386, 387, 395, 396, 399, 400, 412, 413, 414, 415, 428, 429, 430, 441, 451, 452, 454, 457, 458, 469, 470, 471, 472, 479, 480, 485, 486, 487, 493, 503, 504, 505, 506, 507, 509, 510, 516, 518, 520, 521, 529, 530, 537, 538, 539, 545, 550, 553, 554, 557, 558, 561, 565, 575, 576, 585, 587, 597, 599, 600, 603, 604, 605, 607, 610, 611, 612, 613, 616, 617, 618, 625, 626, 643, 646, 647, 653, 656, 657, 658, 659, 664], "excluded_lines": [], "start_line": 179}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 83, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 83, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23, 26, 27, 28, 29, 30, 31, 32, 33, 36, 39, 40, 41, 42, 45, 46, 49, 50, 51, 52, 53, 56, 57, 60, 61, 62, 63, 64, 65, 67, 68, 72, 73, 77, 98, 101, 104, 107, 112, 115, 120, 123, 128, 129, 133, 134, 135, 138, 139, 142, 143, 157, 158, 161, 166, 179, 192, 193, 194, 196, 200, 249, 298, 310, 336, 495, 547, 563, 578, 628, 668, 679, 680], "excluded_lines": [], "start_line": 1}}}, "src/security/resource_limits.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 199, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 199, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 29, 32, 35, 38, 39, 42, 45, 48, 49, 52, 53, 54, 55, 56, 57, 59, 61, 71, 74, 75, 76, 77, 78, 83, 94, 96, 97, 98, 99, 100, 105, 112, 113, 114, 116, 123, 124, 125, 126, 127, 129, 136, 139, 140, 141, 142, 145, 146, 147, 148, 149, 152, 153, 154, 155, 158, 159, 160, 163, 164, 165, 166, 168, 170, 177, 180, 181, 184, 185, 188, 189, 196, 197, 199, 210, 211, 212, 213, 214, 215, 216, 218, 219, 232, 234, 235, 236, 241, 242, 243, 244, 249, 251, 252, 253, 254, 256, 257, 258, 259, 260, 261, 263, 264, 277, 279, 280, 283, 284, 286, 287, 288, 289, 291, 292, 293, 295, 296, 297, 298, 299, 301, 303, 304, 306, 307, 308, 310, 311, 312, 313, 314, 316, 318, 319, 321, 322, 323, 324, 325, 326, 327, 329, 331, 333, 334, 336, 337, 338, 340, 341, 342, 343, 345, 347, 348, 349, 350, 351, 354, 359, 361, 362, 364, 374, 375, 376, 377, 378, 379, 381, 382, 383, 384, 385, 387, 396, 397, 398, 402, 405, 408, 409, 410, 413, 416], "excluded_lines": [], "functions": {"ResourceUsage.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": [61], "excluded_lines": [], "start_line": 59}, "ResourceLimitExceeded.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [75, 76, 77, 78], "excluded_lines": [], "start_line": 74}, "ResourceLimiter.__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": [96, 97, 98, 99, 100], "excluded_lines": [], "start_line": 94}, "ResourceLimiter.start_tracking": {"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": [112, 113, 114], "excluded_lines": [], "start_line": 105}, "ResourceLimiter.stop_tracking": {"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": [123, 124, 125, 126, 127], "excluded_lines": [], "start_line": 116}, "ResourceLimiter.get_current_usage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [136, 139, 140, 141, 142, 145, 146, 147, 148, 149, 152, 153, 154, 155, 158, 159, 160, 163, 164, 165, 166, 168], "excluded_lines": [], "start_line": 129}, "ResourceLimiter.check_limits": {"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": [177, 180, 181, 184, 185, 188, 189, 196, 197], "excluded_lines": [], "start_line": 170}, "ResourceLimiter.check_available_disk_space": {"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": [210, 211, 212, 213, 214, 215, 216], "excluded_lines": [], "start_line": 199}, "ResourceLimiter.track_operation": {"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": [232, 234, 235, 236, 241, 242, 243, 244, 249, 251, 252, 253, 254, 256, 257, 258, 259, 260, 261], "excluded_lines": [], "start_line": 219}, "ResourceLimiter.time_limit": {"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": [277, 279, 283, 284, 286, 287, 288, 289, 291, 292, 293, 295, 296, 297, 298, 299], "excluded_lines": [], "start_line": 264}, "ResourceLimiter.time_limit.timeout_handler": {"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": [280], "excluded_lines": [], "start_line": 279}, "ResourceLimiter._get_memory_usage_mb": {"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": [303, 304, 306, 307, 308, 310, 311, 312, 313, 314], "excluded_lines": [], "start_line": 301}, "ResourceLimiter._get_directory_size_mb": {"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": [318, 319, 321, 322, 323, 324, 325, 326, 327, 329], "excluded_lines": [], "start_line": 316}, "ResourceLimiter._get_open_file_count": {"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": [333, 334, 336, 337, 338, 340, 341, 342, 343], "excluded_lines": [], "start_line": 331}, "ResourceLimiter._get_cpu_time": {"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": [347, 348, 349, 350, 351], "excluded_lines": [], "start_line": 345}, "DiskSpaceMonitor.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [361, 362], "excluded_lines": [], "start_line": 359}, "DiskSpaceMonitor.check_disk_space": {"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": [374, 375, 376, 377, 378, 379, 381, 382, 383, 384, 385, 387, 396, 397, 398], "excluded_lines": [], "start_line": 364}, "get_resource_limiter": {"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": [408, 409, 410], "excluded_lines": [], "start_line": 405}, "reset_resource_limiter": {"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": [416], "excluded_lines": [], "start_line": 413}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 29, 32, 35, 38, 39, 42, 45, 48, 49, 52, 53, 54, 55, 56, 57, 59, 71, 74, 83, 94, 105, 116, 129, 170, 199, 218, 219, 263, 264, 301, 316, 331, 345, 354, 359, 364, 402, 405, 413], "excluded_lines": [], "start_line": 1}}, "classes": {"ResourceLimits": {"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": 25}, "ResourceUsage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61], "excluded_lines": [], "start_line": 49}, "ResourceLimitExceeded": {"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": [75, 76, 77, 78], "excluded_lines": [], "start_line": 71}, "ResourceLimiter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 121, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 121, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [96, 97, 98, 99, 100, 112, 113, 114, 123, 124, 125, 126, 127, 136, 139, 140, 141, 142, 145, 146, 147, 148, 149, 152, 153, 154, 155, 158, 159, 160, 163, 164, 165, 166, 168, 177, 180, 181, 184, 185, 188, 189, 196, 197, 210, 211, 212, 213, 214, 215, 216, 232, 234, 235, 236, 241, 242, 243, 244, 249, 251, 252, 253, 254, 256, 257, 258, 259, 260, 261, 277, 279, 280, 283, 284, 286, 287, 288, 289, 291, 292, 293, 295, 296, 297, 298, 299, 303, 304, 306, 307, 308, 310, 311, 312, 313, 314, 318, 319, 321, 322, 323, 324, 325, 326, 327, 329, 333, 334, 336, 337, 338, 340, 341, 342, 343, 347, 348, 349, 350, 351], "excluded_lines": [], "start_line": 83}, "DiskSpaceMonitor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [361, 362, 374, 375, 376, 377, 378, 379, 381, 382, 383, 384, 385, 387, 396, 397, 398], "excluded_lines": [], "start_line": 354}, "": {"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": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 29, 32, 35, 38, 39, 42, 45, 48, 49, 52, 53, 54, 55, 56, 57, 59, 71, 74, 83, 94, 105, 116, 129, 170, 199, 218, 219, 263, 264, 301, 316, 331, 345, 354, 359, 364, 402, 405, 408, 409, 410, 413, 416], "excluded_lines": [], "start_line": 1}}}, "src/security/temp_file_manager.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 227, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 227, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 29, 30, 34, 37, 40, 43, 46, 49, 52, 55, 56, 59, 60, 61, 62, 63, 65, 67, 76, 88, 90, 93, 94, 96, 99, 102, 103, 106, 107, 110, 111, 113, 115, 116, 117, 118, 119, 121, 123, 124, 125, 126, 128, 142, 143, 144, 146, 147, 149, 152, 155, 156, 157, 158, 161, 162, 163, 170, 171, 173, 193, 194, 197, 198, 199, 201, 202, 204, 207, 210, 211, 212, 213, 216, 217, 218, 225, 226, 228, 229, 242, 243, 244, 246, 248, 249, 266, 267, 268, 270, 272, 282, 283, 284, 287, 290, 291, 293, 294, 296, 297, 298, 299, 300, 301, 303, 313, 314, 315, 317, 320, 321, 323, 324, 326, 327, 328, 330, 340, 342, 344, 346, 347, 348, 349, 351, 352, 354, 355, 357, 367, 368, 369, 371, 372, 374, 375, 376, 377, 379, 380, 383, 385, 386, 388, 395, 397, 398, 400, 401, 402, 403, 405, 406, 408, 409, 411, 418, 420, 421, 424, 425, 428, 429, 430, 432, 434, 441, 443, 444, 446, 447, 448, 449, 451, 453, 460, 461, 462, 463, 465, 466, 468, 478, 488, 489, 491, 492, 494, 495, 497, 498, 499, 501, 502, 503, 504, 505, 507, 509, 511, 512, 513, 514, 515, 519, 522, 525, 526, 527, 531, 533, 536, 538], "excluded_lines": [], "functions": {"TempFileInfo.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": [67], "excluded_lines": [], "start_line": 65}, "SecureTempFileManager.__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": [90, 93, 94, 96, 99, 102, 103, 106, 107, 110, 111], "excluded_lines": [], "start_line": 88}, "SecureTempFileManager.start_background_cleanup": {"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": [115, 116, 117, 118, 119], "excluded_lines": [], "start_line": 113}, "SecureTempFileManager.stop_background_cleanup": {"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": [123, 124, 125, 126], "excluded_lines": [], "start_line": 121}, "SecureTempFileManager.create_temp_directory": {"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": [142, 143, 144, 146, 147, 149, 152, 155, 156, 157, 158, 161, 162, 163, 170, 171], "excluded_lines": [], "start_line": 128}, "SecureTempFileManager.create_temp_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [193, 194, 197, 198, 199, 201, 202, 204, 207, 210, 211, 212, 213, 216, 217, 218, 225, 226], "excluded_lines": [], "start_line": 173}, "SecureTempFileManager.temp_directory": {"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": [242, 243, 244, 246], "excluded_lines": [], "start_line": 229}, "SecureTempFileManager.temp_file": {"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": [266, 267, 268, 270], "excluded_lines": [], "start_line": 249}, "SecureTempFileManager.cleanup_directory": {"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": [282, 283, 284, 287, 290, 291, 293, 294, 296, 297, 298, 299, 300, 301], "excluded_lines": [], "start_line": 272}, "SecureTempFileManager.cleanup_file": {"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": [313, 314, 315, 317, 320, 321, 323, 324, 326, 327, 328], "excluded_lines": [], "start_line": 303}, "SecureTempFileManager.cleanup_job_files": {"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": [340, 342, 344, 346, 347, 348, 349, 351, 352, 354, 355], "excluded_lines": [], "start_line": 330}, "SecureTempFileManager.cleanup_old_files": {"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": [367, 368, 369, 371, 372, 374, 375, 376, 377, 379, 380, 383, 385, 386], "excluded_lines": [], "start_line": 357}, "SecureTempFileManager.cleanup_all": {"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": [395, 397, 398, 400, 401, 402, 403, 405, 406, 408, 409], "excluded_lines": [], "start_line": 388}, "SecureTempFileManager.find_orphaned_files": {"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": [418, 420, 421, 424, 425, 428, 429, 430, 432], "excluded_lines": [], "start_line": 411}, "SecureTempFileManager.get_total_size": {"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": [441, 443, 444, 446, 447, 448, 449, 451], "excluded_lines": [], "start_line": 434}, "SecureTempFileManager.get_stats": {"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": [460, 461, 462, 463, 465, 466, 468], "excluded_lines": [], "start_line": 453}, "SecureTempFileManager._cleanup_orphaned_files": {"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": [488, 489, 491, 492, 494, 495, 497, 498, 499, 501, 502, 503, 504, 505, 507], "excluded_lines": [], "start_line": 478}, "SecureTempFileManager._cleanup_loop": {"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": [511, 512, 513, 514, 515], "excluded_lines": [], "start_line": 509}, "get_temp_file_manager": {"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": [525, 526, 527], "excluded_lines": [], "start_line": 522}, "create_temp_directory": {"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": [533], "excluded_lines": [], "start_line": 531}, "cleanup_job_files": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [538], "excluded_lines": [], "start_line": 536}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 29, 30, 34, 37, 40, 43, 46, 49, 52, 55, 56, 59, 60, 61, 62, 63, 65, 76, 88, 113, 121, 128, 173, 228, 229, 248, 249, 272, 303, 330, 357, 388, 411, 434, 453, 478, 509, 519, 522, 531, 536], "excluded_lines": [], "start_line": 1}}, "classes": {"TempFileConfig": {"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": 30}, "TempFileInfo": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [67], "excluded_lines": [], "start_line": 56}, "SecureTempFileManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 167, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 167, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [90, 93, 94, 96, 99, 102, 103, 106, 107, 110, 111, 115, 116, 117, 118, 119, 123, 124, 125, 126, 142, 143, 144, 146, 147, 149, 152, 155, 156, 157, 158, 161, 162, 163, 170, 171, 193, 194, 197, 198, 199, 201, 202, 204, 207, 210, 211, 212, 213, 216, 217, 218, 225, 226, 242, 243, 244, 246, 266, 267, 268, 270, 282, 283, 284, 287, 290, 291, 293, 294, 296, 297, 298, 299, 300, 301, 313, 314, 315, 317, 320, 321, 323, 324, 326, 327, 328, 340, 342, 344, 346, 347, 348, 349, 351, 352, 354, 355, 367, 368, 369, 371, 372, 374, 375, 376, 377, 379, 380, 383, 385, 386, 395, 397, 398, 400, 401, 402, 403, 405, 406, 408, 409, 418, 420, 421, 424, 425, 428, 429, 430, 432, 441, 443, 444, 446, 447, 448, 449, 451, 460, 461, 462, 463, 465, 466, 468, 488, 489, 491, 492, 494, 495, 497, 498, 499, 501, 502, 503, 504, 505, 507, 511, 512, 513, 514, 515], "excluded_lines": [], "start_line": 76}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 29, 30, 34, 37, 40, 43, 46, 49, 52, 55, 56, 59, 60, 61, 62, 63, 65, 76, 88, 113, 121, 128, 173, 228, 229, 248, 249, 272, 303, 330, 357, 388, 411, 434, 453, 478, 509, 519, 522, 525, 526, 527, 531, 533, 536, 538], "excluded_lines": [], "start_line": 1}}}, "src/services/__init__.py": {"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": [3, 18], "excluded_lines": [], "functions": {"": {"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": [3, 18], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [3, 18], "excluded_lines": [], "start_line": 1}}}, "src/services/addon_exporter.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 183, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 183, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 9, 14, 18, 19, 21, 24, 26, 27, 28, 32, 33, 34, 35, 38, 44, 70, 76, 96, 107, 109, 112, 113, 114, 115, 119, 122, 123, 130, 144, 152, 155, 158, 170, 171, 173, 175, 176, 177, 180, 181, 183, 184, 187, 193, 194, 195, 203, 208, 239, 240, 241, 244, 246, 248, 257, 264, 266, 267, 270, 277, 279, 281, 286, 293, 297, 304, 312, 315, 316, 317, 319, 320, 322, 324, 325, 326, 327, 330, 331, 333, 334, 336, 337, 342, 343, 345, 354, 355, 361, 362, 364, 365, 366, 369, 372, 373, 374, 380, 383, 388, 389, 390, 391, 392, 394, 396, 397, 399, 401, 403, 404, 407, 410, 411, 412, 414, 417, 422, 424, 425, 427, 430, 431, 434, 435, 436, 438, 441, 446, 448, 449, 451, 454, 455, 456, 457, 459, 464, 466, 467, 469, 471, 472, 475, 477, 478, 480, 522, 523, 524, 525, 527, 528, 530, 531, 533, 535, 539, 540, 541, 543, 544, 545, 547, 548, 549, 550, 551, 554, 555, 556, 557, 558, 560, 561, 563], "excluded_lines": [], "functions": {"_sanitize_filename": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 21, 24, 26, 27, 28], "excluded_lines": [], "start_line": 14}, "generate_bp_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [44], "excluded_lines": [], "start_line": 38}, "generate_rp_manifest": {"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": [76], "excluded_lines": [], "start_line": 70}, "generate_block_behavior_json": {"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": [107, 109, 112, 113, 114, 115, 119, 122, 123, 130], "excluded_lines": [], "start_line": 96}, "generate_rp_block_definitions_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [152, 155, 158, 170, 171, 173, 175, 176, 177, 180, 181, 183, 184], "excluded_lines": [], "start_line": 144}, "generate_terrain_texture_json": {"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": [193, 194, 195, 203, 208, 239, 240, 241, 244, 246, 248], "excluded_lines": [], "start_line": 187}, "generate_recipe_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [264, 266, 267], "excluded_lines": [], "start_line": 257}, "generate_sounds_json": {"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": [277, 279, 281, 286, 293, 297], "excluded_lines": [], "start_line": 270}, "create_mcaddon_zip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [312, 315, 316, 317, 319, 320, 322, 324, 325, 326, 327, 330, 331, 333, 334, 336, 337, 342, 343, 345, 354, 355, 361, 362, 364, 365, 366, 369, 372, 373, 374, 380, 383, 388, 389, 390, 391, 392, 394, 396, 397, 399, 401, 403, 404, 407, 410, 411, 412, 414, 417, 422, 424, 425, 427, 430, 431, 434, 435, 436, 438, 441, 446, 448, 449, 451, 454, 455, 456, 457, 459, 464, 466, 467, 469, 471, 472], "excluded_lines": [], "start_line": 304}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 9, 14, 32, 33, 34, 35, 38, 70, 96, 144, 187, 257, 270, 304, 475, 477, 478, 480, 522, 523, 524, 525, 527, 528, 530, 531, 533, 535, 539, 540, 541, 543, 544, 545, 547, 548, 549, 550, 551, 554, 555, 556, 557, 558, 560, 561, 563], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 183, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 183, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 9, 14, 18, 19, 21, 24, 26, 27, 28, 32, 33, 34, 35, 38, 44, 70, 76, 96, 107, 109, 112, 113, 114, 115, 119, 122, 123, 130, 144, 152, 155, 158, 170, 171, 173, 175, 176, 177, 180, 181, 183, 184, 187, 193, 194, 195, 203, 208, 239, 240, 241, 244, 246, 248, 257, 264, 266, 267, 270, 277, 279, 281, 286, 293, 297, 304, 312, 315, 316, 317, 319, 320, 322, 324, 325, 326, 327, 330, 331, 333, 334, 336, 337, 342, 343, 345, 354, 355, 361, 362, 364, 365, 366, 369, 372, 373, 374, 380, 383, 388, 389, 390, 391, 392, 394, 396, 397, 399, 401, 403, 404, 407, 410, 411, 412, 414, 417, 422, 424, 425, 427, 430, 431, 434, 435, 436, 438, 441, 446, 448, 449, 451, 454, 455, 456, 457, 459, 464, 466, 467, 469, 471, 472, 475, 477, 478, 480, 522, 523, 524, 525, 527, 528, 530, 531, 533, 535, 539, 540, 541, 543, 544, 545, 547, 548, 549, 550, 551, 554, 555, 556, 557, 558, 560, 561, 563], "excluded_lines": [], "start_line": 1}}}, "src/services/ai_engine_client.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 123, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 123, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 15, 18, 19, 22, 25, 28, 29, 30, 33, 44, 50, 51, 52, 53, 55, 57, 58, 63, 65, 67, 68, 69, 71, 78, 79, 80, 81, 82, 83, 84, 86, 108, 109, 111, 117, 118, 120, 125, 126, 127, 128, 129, 130, 131, 132, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 148, 161, 162, 163, 165, 166, 168, 169, 174, 176, 177, 178, 179, 180, 181, 182, 184, 206, 207, 210, 217, 218, 219, 220, 221, 226, 232, 233, 239, 240, 241, 242, 244, 246, 247, 248, 249, 250, 252, 267, 269, 270, 271, 272, 275, 276, 278, 279, 281, 286, 287, 289, 293, 296, 299, 300, 301, 304, 307, 308, 309], "excluded_lines": [], "functions": {"AIEngineError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 30], "excluded_lines": [], "start_line": 28}, "AIEngineClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [50, 51, 52, 53], "excluded_lines": [], "start_line": 44}, "AIEngineClient._get_client": {"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, 63], "excluded_lines": [], "start_line": 55}, "AIEngineClient.close": {"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": [67, 68, 69], "excluded_lines": [], "start_line": 65}, "AIEngineClient.health_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [78, 79, 80, 81, 82, 83, 84], "excluded_lines": [], "start_line": 71}, "AIEngineClient.start_conversion": {"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": [108, 109, 111, 117, 118, 120, 125, 126, 127, 128, 129, 130, 131, 132, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "excluded_lines": [], "start_line": 86}, "AIEngineClient.get_conversion_status": {"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": [161, 162, 163, 165, 166, 168, 169, 174, 176, 177, 178, 179, 180, 181, 182], "excluded_lines": [], "start_line": 148}, "AIEngineClient.download_converted_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [206, 207, 210, 217, 218, 219, 220, 221, 226, 232, 233, 239, 240, 241, 242, 244, 246, 247, 248, 249, 250], "excluded_lines": [], "start_line": 184}, "AIEngineClient.poll_conversion_status": {"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": [267, 269, 270, 271, 272, 275, 276, 278, 279, 281, 286, 287, 289], "excluded_lines": [], "start_line": 252}, "get_ai_engine_client": {"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": [299, 300, 301], "excluded_lines": [], "start_line": 296}, "close_ai_engine_client": {"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": [307, 308, 309], "excluded_lines": [], "start_line": 304}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 15, 18, 19, 22, 25, 28, 33, 44, 55, 65, 71, 86, 148, 184, 252, 293, 296, 304], "excluded_lines": [], "start_line": 1}}, "classes": {"AIEngineError": {"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": [29, 30], "excluded_lines": [], "start_line": 25}, "AIEngineClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 92, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 92, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [50, 51, 52, 53, 57, 58, 63, 67, 68, 69, 78, 79, 80, 81, 82, 83, 84, 108, 109, 111, 117, 118, 120, 125, 126, 127, 128, 129, 130, 131, 132, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 161, 162, 163, 165, 166, 168, 169, 174, 176, 177, 178, 179, 180, 181, 182, 206, 207, 210, 217, 218, 219, 220, 221, 226, 232, 233, 239, 240, 241, 242, 244, 246, 247, 248, 249, 250, 267, 269, 270, 271, 272, 275, 276, 278, 279, 281, 286, 287, 289], "excluded_lines": [], "start_line": 33}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 15, 18, 19, 22, 25, 28, 33, 44, 55, 65, 71, 86, 148, 184, 252, 293, 296, 299, 300, 301, 304, 307, 308, 309], "excluded_lines": [], "start_line": 1}}}, "src/services/analytics_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 12, 15, 18, 19, 21, 22, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 38, 70, 71, 72, 75, 78, 92, 93, 94, 96, 98, 107, 108, 109, 110, 111, 112, 113, 114, 122, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 156, 157, 159, 160, 162, 183, 185, 186, 187, 188, 189, 190, 191, 192, 195, 196, 197, 198, 200, 202, 208, 209, 211, 212, 214, 220, 222, 223, 224, 225, 228, 232, 233, 235, 236, 238, 255, 257, 259, 260, 261, 262, 265, 275, 276, 280, 284, 285, 286, 287, 288, 291, 292, 293, 294, 295, 298, 299, 300, 303, 304, 305, 306, 309, 310, 313, 316, 317, 318, 319, 320, 321, 324, 327, 330, 331, 332, 333, 334], "excluded_lines": [], "functions": {"AnalyticsService.__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": [19], "excluded_lines": [], "start_line": 18}, "AnalyticsService.hash_ip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [24], "excluded_lines": [], "start_line": 22}, "AnalyticsService.get_device_type": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 36], "excluded_lines": [], "start_line": 27}, "AnalyticsService.track_event": {"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": [70, 71, 72, 75, 78, 92, 93, 94, 96], "excluded_lines": [], "start_line": 38}, "AnalyticsService.track_feedback_submitted": {"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": [107, 108, 109, 110, 111, 112, 113, 114], "excluded_lines": [], "start_line": 98}, "AnalyticsService.get_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 156, 157, 159, 160], "excluded_lines": [], "start_line": 122}, "AnalyticsService.get_event_counts": {"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": [183, 185, 186, 187, 188, 189, 190, 191, 192, 195, 196, 197, 198, 200, 202, 208, 209, 211, 212], "excluded_lines": [], "start_line": 162}, "AnalyticsService.get_unique_users": {"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": [220, 222, 223, 224, 225, 228, 232, 233, 235, 236], "excluded_lines": [], "start_line": 214}, "AnalyticsService.get_events_timeline": {"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": [255, 257, 259, 260, 261, 262, 265, 275, 276], "excluded_lines": [], "start_line": 238}, "get_analytics_service": {"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": [330, 331, 332, 333, 334], "excluded_lines": [], "start_line": 327}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 12, 15, 18, 21, 22, 26, 27, 38, 98, 122, 162, 214, 238, 280, 284, 285, 286, 287, 288, 291, 292, 293, 294, 295, 298, 299, 300, 303, 304, 305, 306, 309, 310, 313, 316, 317, 318, 319, 320, 321, 324, 327], "excluded_lines": [], "start_line": 1}}, "classes": {"AnalyticsService": {"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": [19, 24, 29, 30, 31, 32, 33, 34, 35, 36, 70, 71, 72, 75, 78, 92, 93, 94, 96, 107, 108, 109, 110, 111, 112, 113, 114, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 156, 157, 159, 160, 183, 185, 186, 187, 188, 189, 190, 191, 192, 195, 196, 197, 198, 200, 202, 208, 209, 211, 212, 220, 222, 223, 224, 225, 228, 232, 233, 235, 236, 255, 257, 259, 260, 261, 262, 265, 275, 276], "excluded_lines": [], "start_line": 15}, "AnalyticsEvents": {"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": 280}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 10, 12, 15, 18, 21, 22, 26, 27, 38, 98, 122, 162, 214, 238, 280, 284, 285, 286, 287, 288, 291, 292, 293, 294, 295, 298, 299, 300, 303, 304, 305, 306, 309, 310, 313, 316, 317, 318, 319, 320, 321, 324, 327, 330, 331, 332, 333, 334], "excluded_lines": [], "start_line": 1}}}, "src/services/asset_conversion_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 128, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 128, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 11, 12, 14, 17, 18, 21, 24, 25, 27, 40, 42, 43, 44, 47, 49, 51, 59, 61, 62, 66, 67, 75, 76, 80, 81, 87, 89, 90, 94, 95, 97, 107, 109, 115, 116, 124, 125, 126, 129, 131, 133, 134, 135, 136, 139, 140, 143, 144, 145, 146, 147, 148, 150, 152, 156, 165, 186, 188, 189, 190, 193, 201, 202, 204, 205, 207, 208, 210, 211, 212, 218, 219, 220, 222, 223, 224, 226, 240, 241, 242, 243, 244, 245, 246, 249, 251, 252, 253, 255, 259, 261, 262, 265, 266, 269, 271, 272, 273, 275, 280, 281, 283, 285, 286, 289, 291, 296, 297, 299, 301, 302, 305, 307, 312, 313, 315, 317, 318, 320, 322, 327, 328, 332], "excluded_lines": [], "functions": {"AssetConversionService.__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": [25], "excluded_lines": [], "start_line": 24}, "AssetConversionService.convert_asset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 42, 43, 44, 47, 49, 51, 59, 61, 62, 66, 67, 75, 76, 80, 81, 87, 89, 90, 94, 95], "excluded_lines": [], "start_line": 27}, "AssetConversionService.convert_assets_for_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [107, 109, 115, 116, 124, 125, 126, 129, 131, 133, 139, 140, 143, 144, 145, 146, 147, 148, 150, 152, 156], "excluded_lines": [], "start_line": 97}, "AssetConversionService.convert_assets_for_conversion.convert_single_asset": {"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": [134, 135, 136], "excluded_lines": [], "start_line": 133}, "AssetConversionService._call_ai_engine_convert_asset": {"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": [186, 188, 189, 190, 193, 201, 204, 205, 207, 208, 210, 211, 212, 218, 219, 220, 222, 223, 224], "excluded_lines": [], "start_line": 165}, "AssetConversionService._call_ai_engine_convert_asset._do_request": {"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": [202], "excluded_lines": [], "start_line": 201}, "AssetConversionService._fallback_conversion": {"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": [240, 241, 242, 243, 244, 245, 246, 249, 251, 252, 253], "excluded_lines": [], "start_line": 226}, "AssetConversionService._fallback_texture_conversion": {"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": [259, 261, 262, 265, 266, 269, 271, 272, 273, 275, 280, 281], "excluded_lines": [], "start_line": 255}, "AssetConversionService._fallback_sound_conversion": {"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": [285, 286, 289, 291, 296, 297], "excluded_lines": [], "start_line": 283}, "AssetConversionService._fallback_model_conversion": {"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": [301, 302, 305, 307, 312, 313], "excluded_lines": [], "start_line": 299}, "AssetConversionService._fallback_copy_conversion": {"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": [317, 318, 320, 322, 327, 328], "excluded_lines": [], "start_line": 315}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 11, 12, 14, 17, 18, 21, 24, 27, 97, 165, 226, 255, 283, 299, 315, 332], "excluded_lines": [], "start_line": 1}}, "classes": {"AssetConversionService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 107, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 107, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [25, 40, 42, 43, 44, 47, 49, 51, 59, 61, 62, 66, 67, 75, 76, 80, 81, 87, 89, 90, 94, 95, 107, 109, 115, 116, 124, 125, 126, 129, 131, 133, 134, 135, 136, 139, 140, 143, 144, 145, 146, 147, 148, 150, 152, 156, 186, 188, 189, 190, 193, 201, 202, 204, 205, 207, 208, 210, 211, 212, 218, 219, 220, 222, 223, 224, 240, 241, 242, 243, 244, 245, 246, 249, 251, 252, 253, 259, 261, 262, 265, 266, 269, 271, 272, 273, 275, 280, 281, 285, 286, 289, 291, 296, 297, 301, 302, 305, 307, 312, 313, 317, 318, 320, 322, 327, 328], "excluded_lines": [], "start_line": 21}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 11, 12, 14, 17, 18, 21, 24, 27, 97, 165, 226, 255, 283, 299, 315, 332], "excluded_lines": [], "start_line": 1}}}, "src/services/automation_metrics.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 170, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 170, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 23, 24, 25, 28, 29, 32, 33, 35, 36, 38, 39, 40, 42, 44, 45, 47, 49, 50, 52, 53, 54, 57, 58, 62, 63, 64, 65, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 87, 88, 89, 92, 95, 96, 99, 100, 103, 104, 105, 106, 107, 108, 109, 110, 113, 126, 127, 129, 131, 132, 133, 134, 135, 136, 138, 140, 141, 143, 144, 145, 148, 149, 152, 153, 155, 186, 199, 200, 203, 204, 206, 207, 209, 222, 224, 226, 228, 229, 235, 238, 239, 242, 243, 246, 247, 248, 251, 252, 253, 256, 261, 262, 267, 270, 271, 274, 300, 302, 315, 318, 324, 325, 326, 327, 328, 329, 331, 333, 387, 402, 404, 406, 411, 425, 430, 432, 443, 444, 447, 448, 450, 452, 471, 472, 474, 475, 476, 477, 480, 483, 484, 486, 501, 506, 507, 508, 509, 513, 516, 519, 520, 521, 524, 526, 529, 531, 534, 536, 539, 541], "excluded_lines": [], "functions": {"ConversionEvent.conversion_duration_seconds": {"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": [52, 53, 54], "excluded_lines": [], "start_line": 50}, "AutomationMetricsService.__new__": {"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": [131, 132, 133, 134, 135, 136], "excluded_lines": [], "start_line": 129}, "AutomationMetricsService.__init__": {"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": [140, 141, 143, 144, 145, 148, 149, 152, 153], "excluded_lines": [], "start_line": 138}, "AutomationMetricsService.record_conversion_event": {"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": [186, 199, 200, 203, 204, 206, 207], "excluded_lines": [], "start_line": 155}, "AutomationMetricsService.get_current_metrics": {"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": [222, 224, 226, 228, 229, 235, 238, 239, 242, 243, 246, 247, 248, 251, 252, 253, 256, 261, 262, 267, 270, 271, 274, 300], "excluded_lines": [], "start_line": 209}, "AutomationMetricsService.get_dashboard_data": {"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": [315, 318, 324, 325, 326, 327, 328, 329, 331, 333], "excluded_lines": [], "start_line": 302}, "AutomationMetricsService.get_historical_data": {"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": [402, 404, 406, 411], "excluded_lines": [], "start_line": 387}, "AutomationMetricsService.record_historical_snapshot": {"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": [430, 432, 443, 444, 447, 448, 450], "excluded_lines": [], "start_line": 425}, "AutomationMetricsService.get_all_events": {"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": [471, 472, 474, 475, 476, 477, 480, 483, 484, 486], "excluded_lines": [], "start_line": 452}, "AutomationMetricsService.reset_metrics": {"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": [506, 507, 508, 509], "excluded_lines": [], "start_line": 501}, "get_automation_metrics_service": {"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": [519, 520, 521], "excluded_lines": [], "start_line": 516}, "record_conversion_event": {"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": [526], "excluded_lines": [], "start_line": 524}, "get_current_metrics": {"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": [531], "excluded_lines": [], "start_line": 529}, "get_dashboard_data": {"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": [536], "excluded_lines": [], "start_line": 534}, "get_historical_data": {"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": [541], "excluded_lines": [], "start_line": 539}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 79, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 79, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 23, 24, 25, 28, 29, 32, 33, 35, 36, 38, 39, 40, 42, 44, 45, 47, 49, 50, 57, 58, 62, 63, 64, 65, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 87, 88, 89, 92, 95, 96, 99, 100, 103, 104, 105, 106, 107, 108, 109, 110, 113, 126, 127, 129, 138, 155, 209, 302, 387, 425, 452, 501, 513, 516, 524, 529, 534, 539], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionEvent": {"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": [52, 53, 54], "excluded_lines": [], "start_line": 29}, "AutomationMetricsSnapshot": {"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": 58}, "AutomationMetricsHistoryPoint": {"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": 100}, "AutomationMetricsService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [131, 132, 133, 134, 135, 136, 140, 141, 143, 144, 145, 148, 149, 152, 153, 186, 199, 200, 203, 204, 206, 207, 222, 224, 226, 228, 229, 235, 238, 239, 242, 243, 246, 247, 248, 251, 252, 253, 256, 261, 262, 267, 270, 271, 274, 300, 315, 318, 324, 325, 326, 327, 328, 329, 331, 333, 402, 404, 406, 411, 430, 432, 443, 444, 447, 448, 450, 471, 472, 474, 475, 476, 477, 480, 483, 484, 486, 506, 507, 508, 509], "excluded_lines": [], "start_line": 113}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 86, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 86, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 23, 24, 25, 28, 29, 32, 33, 35, 36, 38, 39, 40, 42, 44, 45, 47, 49, 50, 57, 58, 62, 63, 64, 65, 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, 82, 83, 84, 87, 88, 89, 92, 95, 96, 99, 100, 103, 104, 105, 106, 107, 108, 109, 110, 113, 126, 127, 129, 138, 155, 209, 302, 387, 425, 452, 501, 513, 516, 519, 520, 521, 524, 526, 529, 531, 534, 536, 539, 541], "excluded_lines": [], "start_line": 1}}}, "src/services/batch_queuing.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 328, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 328, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 34, 36, 37, 38, 39, 41, 43, 49, 52, 54, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 87, 88, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 109, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, 125, 138, 150, 166, 167, 168, 169, 172, 175, 178, 181, 184, 187, 190, 193, 195, 201, 210, 214, 215, 216, 225, 227, 229, 235, 236, 237, 240, 243, 246, 247, 248, 249, 250, 251, 252, 253, 255, 258, 260, 283, 284, 287, 288, 290, 301, 302, 305, 306, 307, 310, 311, 312, 313, 316, 318, 320, 322, 339, 340, 341, 346, 347, 349, 351, 353, 363, 364, 365, 366, 367, 370, 373, 374, 376, 378, 393, 394, 396, 397, 400, 401, 402, 403, 404, 406, 407, 409, 410, 416, 417, 418, 422, 424, 426, 439, 440, 442, 443, 446, 447, 449, 450, 451, 452, 455, 456, 457, 459, 460, 463, 464, 465, 466, 468, 470, 471, 477, 478, 480, 482, 484, 501, 502, 503, 504, 506, 507, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 524, 525, 526, 527, 528, 529, 530, 531, 533, 534, 536, 546, 547, 548, 549, 551, 552, 553, 555, 556, 557, 558, 561, 562, 563, 565, 567, 568, 570, 580, 581, 582, 583, 585, 586, 588, 589, 591, 592, 594, 596, 597, 600, 603, 604, 605, 608, 609, 611, 613, 628, 631, 632, 633, 634, 637, 639, 640, 641, 644, 645, 646, 647, 648, 651, 653, 654, 655, 659, 660, 661, 665, 667, 668, 672, 675, 677, 682, 684, 690, 691, 692, 693, 695, 696, 697, 698, 699, 700, 702, 703, 704, 705, 706, 708, 710, 711, 715, 718, 721, 722, 723, 726, 729, 730, 731, 732, 734, 737, 738], "excluded_lines": [], "functions": {"QueuePriority.to_score": {"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": [43, 49], "excluded_lines": [], "start_line": 41}, "BatchJob.__lt__": {"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": [84], "excluded_lines": [], "start_line": 82}, "BatchGroup.total_jobs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [100], "excluded_lines": [], "start_line": 99}, "BatchGroup.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": [104, 105, 106], "excluded_lines": [], "start_line": 103}, "BatchQueueStats.__init__": {"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": [113, 114, 115, 116, 117, 118, 119, 120, 121], "excluded_lines": [], "start_line": 112}, "BatchQueueStats.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": [125], "excluded_lines": [], "start_line": 123}, "IntelligentBatchQueue.__init__": {"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": [166, 167, 168, 169, 172, 175, 178, 181, 184, 187, 190, 193, 195], "excluded_lines": [], "start_line": 150}, "IntelligentBatchQueue._compute_job_priority_score": {"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": [210, 214, 215, 216, 225, 227], "excluded_lines": [], "start_line": 201}, "IntelligentBatchQueue._compute_job_complexity": {"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": [235, 236, 237, 240, 243, 246, 247, 248, 249, 250, 251, 252, 253, 255, 258], "excluded_lines": [], "start_line": 229}, "IntelligentBatchQueue.enqueue_job": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [283, 284, 287, 288, 290, 301, 302, 305, 306, 307, 310, 311, 312, 313, 316, 318, 320], "excluded_lines": [], "start_line": 260}, "IntelligentBatchQueue.enqueue_batch": {"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": [339, 340, 341, 346, 347], "excluded_lines": [], "start_line": 322}, "IntelligentBatchQueue.get_job": {"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": [351], "excluded_lines": [], "start_line": 349}, "IntelligentBatchQueue.get_next_job": {"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": [363, 364, 365, 366, 367, 370, 373, 374, 376], "excluded_lines": [], "start_line": 353}, "IntelligentBatchQueue.get_batch_group": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [393, 394, 396, 397, 400, 401, 402, 403, 404, 406, 407, 409, 410, 416, 417, 418, 422, 424], "excluded_lines": [], "start_line": 378}, "IntelligentBatchQueue.create_mixed_batch": {"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": [439, 440, 442, 443, 446, 447, 449, 450, 451, 452, 455, 456, 457, 459, 460, 463, 464, 465, 466, 468, 470, 471, 477, 478, 480, 482], "excluded_lines": [], "start_line": 426}, "IntelligentBatchQueue.update_job_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [501, 502, 503, 504, 506, 507, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 524, 525, 526, 527, 528, 529, 530, 531, 533, 534], "excluded_lines": [], "start_line": 484}, "IntelligentBatchQueue.retry_job": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [546, 547, 548, 549, 551, 552, 553, 555, 556, 557, 558, 561, 562, 563, 565, 567, 568], "excluded_lines": [], "start_line": 536}, "IntelligentBatchQueue.cancel_job": {"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": [580, 581, 582, 583, 585, 586, 588, 589, 591, 592], "excluded_lines": [], "start_line": 570}, "IntelligentBatchQueue.get_queue_stats": {"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": [596, 597, 600, 603, 604, 605, 608, 609, 611], "excluded_lines": [], "start_line": 594}, "IntelligentBatchQueue.process_batch_parallel": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [628, 631, 632, 633, 634, 637, 639, 640, 641, 644, 645, 646, 647, 648, 651, 653, 654, 655, 659, 660, 661, 665, 667, 668, 672, 675, 677, 682], "excluded_lines": [], "start_line": 613}, "IntelligentBatchQueue._process_single_job": {"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": [690, 691, 692, 693, 695, 696, 697, 698, 699, 700, 702, 703, 704, 705, 706], "excluded_lines": [], "start_line": 684}, "IntelligentBatchQueue.close": {"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": [710, 711], "excluded_lines": [], "start_line": 708}, "get_batch_queue": {"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": [721, 722, 723], "excluded_lines": [], "start_line": 718}, "reset_batch_queue": {"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": [729, 730, 731, 732, 734, 737, 738], "excluded_lines": [], "start_line": 726}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 34, 36, 37, 38, 39, 41, 52, 54, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 87, 88, 90, 91, 92, 93, 94, 95, 96, 98, 99, 102, 103, 109, 112, 123, 138, 150, 201, 229, 260, 322, 349, 353, 378, 426, 484, 536, 570, 594, 613, 684, 708, 715, 718, 726], "excluded_lines": [], "start_line": 1}}, "classes": {"QueuePriority": {"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": [43, 49], "excluded_lines": [], "start_line": 34}, "BatchJobStatus": {"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": 52}, "BatchJob": {"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": [84], "excluded_lines": [], "start_line": 63}, "BatchGroup": {"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": [100, 104, 105, 106], "excluded_lines": [], "start_line": 88}, "BatchQueueStats": {"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": [113, 114, 115, 116, 117, 118, 119, 120, 121, 125], "excluded_lines": [], "start_line": 109}, "IntelligentBatchQueue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 220, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 220, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [166, 167, 168, 169, 172, 175, 178, 181, 184, 187, 190, 193, 195, 210, 214, 215, 216, 225, 227, 235, 236, 237, 240, 243, 246, 247, 248, 249, 250, 251, 252, 253, 255, 258, 283, 284, 287, 288, 290, 301, 302, 305, 306, 307, 310, 311, 312, 313, 316, 318, 320, 339, 340, 341, 346, 347, 351, 363, 364, 365, 366, 367, 370, 373, 374, 376, 393, 394, 396, 397, 400, 401, 402, 403, 404, 406, 407, 409, 410, 416, 417, 418, 422, 424, 439, 440, 442, 443, 446, 447, 449, 450, 451, 452, 455, 456, 457, 459, 460, 463, 464, 465, 466, 468, 470, 471, 477, 478, 480, 482, 501, 502, 503, 504, 506, 507, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 524, 525, 526, 527, 528, 529, 530, 531, 533, 534, 546, 547, 548, 549, 551, 552, 553, 555, 556, 557, 558, 561, 562, 563, 565, 567, 568, 580, 581, 582, 583, 585, 586, 588, 589, 591, 592, 596, 597, 600, 603, 604, 605, 608, 609, 611, 628, 631, 632, 633, 634, 637, 639, 640, 641, 644, 645, 646, 647, 648, 651, 653, 654, 655, 659, 660, 661, 665, 667, 668, 672, 675, 677, 682, 690, 691, 692, 693, 695, 696, 697, 698, 699, 700, 702, 703, 704, 705, 706, 710, 711], "excluded_lines": [], "start_line": 138}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 91, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 91, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 34, 36, 37, 38, 39, 41, 52, 54, 55, 56, 57, 58, 59, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 87, 88, 90, 91, 92, 93, 94, 95, 96, 98, 99, 102, 103, 109, 112, 123, 138, 150, 201, 229, 260, 322, 349, 353, 378, 426, 484, 536, 570, 594, 613, 684, 708, 715, 718, 721, 722, 723, 726, 729, 730, 731, 732, 734, 737, 738], "excluded_lines": [], "start_line": 1}}}, "src/services/build_performance_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 272, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 272, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 30, 33, 34, 36, 37, 38, 40, 43, 44, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 73, 74, 75, 76, 78, 88, 97, 98, 101, 106, 109, 110, 111, 112, 113, 115, 119, 121, 142, 143, 144, 145, 148, 149, 150, 151, 152, 154, 156, 157, 158, 159, 161, 162, 165, 173, 174, 176, 178, 180, 194, 196, 217, 225, 240, 241, 242, 243, 246, 247, 248, 251, 252, 253, 256, 257, 258, 259, 260, 265, 266, 269, 272, 275, 276, 277, 278, 281, 284, 285, 286, 289, 296, 297, 298, 300, 304, 306, 316, 317, 319, 329, 330, 331, 334, 335, 336, 337, 338, 341, 342, 343, 348, 351, 352, 353, 356, 357, 358, 360, 370, 380, 381, 383, 384, 385, 386, 388, 390, 400, 401, 402, 403, 404, 406, 408, 410, 420, 435, 437, 438, 440, 441, 443, 444, 447, 449, 457, 458, 459, 460, 461, 462, 465, 466, 467, 470, 471, 472, 473, 474, 476, 477, 478, 485, 487, 497, 498, 501, 502, 503, 506, 507, 508, 510, 514, 516, 517, 519, 529, 530, 533, 535, 536, 537, 539, 541, 542, 544, 545, 547, 548, 551, 554, 555, 557, 558, 560, 562, 564, 566, 567, 568, 569, 571, 572, 573, 574, 575, 576, 577, 579, 585, 587, 611, 613, 614, 616, 617, 618, 619, 620, 621, 622, 623, 625, 627, 630, 631, 636, 638, 639, 655, 656, 657, 658, 659, 660, 661, 665, 668, 671, 672, 673, 679, 686, 687, 693, 696, 704, 705, 708, 715, 716, 721, 724, 726, 727, 730, 732, 733, 736, 741, 742], "excluded_lines": [], "functions": {"BuildPerformanceService.__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": 73}, "BuildPerformanceService.start_tracking": {"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": [88, 97, 98, 101, 106, 109, 110, 111, 112, 113, 115, 119], "excluded_lines": [], "start_line": 78}, "BuildPerformanceService.update_stage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [142, 143, 144, 145, 148, 149, 150, 151, 152, 154, 156, 157, 158, 159, 161, 162, 165, 173, 174, 176, 178], "excluded_lines": [], "start_line": 121}, "BuildPerformanceService.start_stage": {"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": [194], "excluded_lines": [], "start_line": 180}, "BuildPerformanceService.complete_stage": {"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": [217], "excluded_lines": [], "start_line": 196}, "BuildPerformanceService.end_tracking": {"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": [240, 241, 242, 243, 246, 247, 248, 251, 252, 253, 256, 257, 258, 259, 260, 265, 266, 269, 272, 275, 276, 277, 278, 281, 284, 285, 286, 289, 296, 297, 298, 300, 304], "excluded_lines": [], "start_line": 225}, "BuildPerformanceService.get_build": {"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": [316, 317], "excluded_lines": [], "start_line": 306}, "BuildPerformanceService.get_snapshot": {"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": [329, 330, 331, 334, 335, 336, 337, 338, 341, 342, 343, 348, 351, 352, 353, 356, 357, 358, 360], "excluded_lines": [], "start_line": 319}, "BuildPerformanceService.get_response": {"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": [380, 381, 383, 384, 385, 386, 388], "excluded_lines": [], "start_line": 370}, "BuildPerformanceService.get_summary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [400, 401, 402, 403, 404, 406, 408, 410], "excluded_lines": [], "start_line": 390}, "BuildPerformanceService.get_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [435, 437, 438, 440, 441, 443, 444, 447, 449, 457, 458, 459, 460, 461, 462, 465, 466, 467, 470, 471, 472, 473, 474, 476, 477, 478, 485], "excluded_lines": [], "start_line": 420}, "BuildPerformanceService._calculate_performance_score": {"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": [497, 498, 501, 502, 503, 506, 507, 508, 510, 514, 516, 517], "excluded_lines": [], "start_line": 487}, "BuildPerformanceService._calculate_build_efficiency": {"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": [529, 530, 533, 535, 536, 537], "excluded_lines": [], "start_line": 519}, "BuildPerformanceService._calculate_progress": {"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": [541, 542, 544, 545, 547, 548, 551, 554, 555, 557, 558, 560], "excluded_lines": [], "start_line": 539}, "BuildPerformanceService._capture_resource_usage": {"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": [564, 566, 567, 568, 569, 571, 572, 573, 574, 575, 576, 577, 579], "excluded_lines": [], "start_line": 562}, "BuildPerformanceService._to_response": {"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": [587], "excluded_lines": [], "start_line": 585}, "BuildPerformanceService._get_from_cache": {"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": [613, 614, 616, 617, 618, 619, 620, 621, 622, 623], "excluded_lines": [], "start_line": 611}, "BuildPerformanceService._get_all_builds": {"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": [627, 630, 631, 636], "excluded_lines": [], "start_line": 625}, "BuildPerformanceService.track_stage": {"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": [655, 656, 657, 658, 659, 660, 661], "excluded_lines": [], "start_line": 639}, "get_build_performance_service": {"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": [671, 672, 673], "excluded_lines": [], "start_line": 668}, "start_build_performance_tracking": {"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": [686, 687, 693], "excluded_lines": [], "start_line": 679}, "update_build_stage": {"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": [704, 705], "excluded_lines": [], "start_line": 696}, "end_build_performance_tracking": {"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": [715, 716, 721], "excluded_lines": [], "start_line": 708}, "get_build_performance": {"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": [726, 727], "excluded_lines": [], "start_line": 724}, "get_build_performance_snapshot": {"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": [732, 733], "excluded_lines": [], "start_line": 730}, "get_build_performance_stats": {"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": [741, 742], "excluded_lines": [], "start_line": 736}, "": {"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": [11, 12, 13, 14, 15, 16, 17, 19, 30, 33, 34, 36, 37, 38, 40, 43, 44, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 73, 78, 121, 180, 196, 225, 306, 319, 370, 390, 420, 487, 519, 539, 562, 585, 611, 625, 638, 639, 665, 668, 679, 696, 708, 724, 730, 736], "excluded_lines": [], "start_line": 1}}, "classes": {"BuildStages": {"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": 48}, "BuildPerformanceService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 199, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 199, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [74, 75, 76, 88, 97, 98, 101, 106, 109, 110, 111, 112, 113, 115, 119, 142, 143, 144, 145, 148, 149, 150, 151, 152, 154, 156, 157, 158, 159, 161, 162, 165, 173, 174, 176, 178, 194, 217, 240, 241, 242, 243, 246, 247, 248, 251, 252, 253, 256, 257, 258, 259, 260, 265, 266, 269, 272, 275, 276, 277, 278, 281, 284, 285, 286, 289, 296, 297, 298, 300, 304, 316, 317, 329, 330, 331, 334, 335, 336, 337, 338, 341, 342, 343, 348, 351, 352, 353, 356, 357, 358, 360, 380, 381, 383, 384, 385, 386, 388, 400, 401, 402, 403, 404, 406, 408, 410, 435, 437, 438, 440, 441, 443, 444, 447, 449, 457, 458, 459, 460, 461, 462, 465, 466, 467, 470, 471, 472, 473, 474, 476, 477, 478, 485, 497, 498, 501, 502, 503, 506, 507, 508, 510, 514, 516, 517, 529, 530, 533, 535, 536, 537, 541, 542, 544, 545, 547, 548, 551, 554, 555, 557, 558, 560, 564, 566, 567, 568, 569, 571, 572, 573, 574, 575, 576, 577, 579, 587, 613, 614, 616, 617, 618, 619, 620, 621, 622, 623, 627, 630, 631, 636, 655, 656, 657, 658, 659, 660, 661], "excluded_lines": [], "start_line": 62}, "": {"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": [11, 12, 13, 14, 15, 16, 17, 19, 30, 33, 34, 36, 37, 38, 40, 43, 44, 48, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 73, 78, 121, 180, 196, 225, 306, 319, 370, 390, 420, 487, 519, 539, 562, 585, 611, 625, 638, 639, 665, 668, 671, 672, 673, 679, 686, 687, 693, 696, 704, 705, 708, 715, 716, 721, 724, 726, 727, 730, 732, 733, 736, 741, 742], "excluded_lines": [], "start_line": 1}}}, "src/services/cache.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 244, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 244, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 26, 28, 37, 39, 40, 42, 43, 44, 45, 48, 49, 50, 54, 55, 56, 57, 58, 60, 64, 65, 66, 68, 69, 70, 71, 72, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 98, 102, 103, 104, 105, 106, 107, 108, 109, 111, 114, 115, 116, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 143, 144, 145, 150, 151, 152, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 171, 172, 173, 174, 175, 176, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 198, 199, 200, 201, 204, 208, 212, 213, 215, 222, 223, 224, 225, 231, 233, 239, 240, 241, 243, 244, 245, 246, 247, 249, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 265, 269, 270, 271, 272, 273, 274, 275, 279, 293, 295, 296, 299, 302, 304, 305, 307, 317, 319, 320, 322, 323, 325, 327, 329, 336, 337, 338, 340, 347, 348, 349, 351, 355, 356, 357, 358, 363, 364, 365, 366, 367, 368, 369, 371, 378, 379, 380, 381, 385, 395, 396, 397, 398, 399, 400, 401, 402, 403, 405, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425], "excluded_lines": [], "functions": {"CacheService.__init__": {"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": [37, 39, 40, 42, 43, 44, 45, 48, 49, 50, 54, 55, 56, 57, 58], "excluded_lines": [], "start_line": 28}, "CacheService._json_encoder_default": {"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": [64, 65, 66], "excluded_lines": [], "start_line": 60}, "CacheService.set_job_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [69, 70, 71, 72, 76, 77, 78], "excluded_lines": [], "start_line": 68}, "CacheService.get_job_status": {"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": [81, 82, 83, 84, 85, 86, 87, 88, 89], "excluded_lines": [], "start_line": 80}, "CacheService.track_progress": {"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": [92, 93, 94, 95, 96], "excluded_lines": [], "start_line": 91}, "CacheService.set_progress": {"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": [102, 103, 104, 105, 106, 107, 108, 109], "excluded_lines": [], "start_line": 98}, "CacheService.cache_mod_analysis": {"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": [114, 115, 116, 121, 122, 123], "excluded_lines": [], "start_line": 111}, "CacheService.get_mod_analysis": {"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": [126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138], "excluded_lines": [], "start_line": 125}, "CacheService.cache_conversion_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [143, 144, 145, 150, 151, 152], "excluded_lines": [], "start_line": 140}, "CacheService.get_conversion_result": {"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": [155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "start_line": 154}, "CacheService.cache_asset_conversion": {"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": [171, 172, 173, 174, 175, 176], "excluded_lines": [], "start_line": 168}, "CacheService.get_asset_conversion": {"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": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190], "excluded_lines": [], "start_line": 178}, "CacheService.invalidate_cache": {"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": [193, 194, 195, 196], "excluded_lines": [], "start_line": 192}, "CacheService.get_cache_stats": {"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": [199, 200, 201, 204, 208, 212, 213, 215, 222, 223, 224, 225, 231], "excluded_lines": [], "start_line": 198}, "CacheService.set_export_data": {"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": [239, 240, 241, 243, 244, 245, 246, 247], "excluded_lines": [], "start_line": 233}, "CacheService.get_export_data": {"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": [253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263], "excluded_lines": [], "start_line": 249}, "CacheService.delete_export_data": {"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": [269, 270, 271, 272, 273, 274, 275], "excluded_lines": [], "start_line": 265}, "CacheService.cache_conversion_by_hash": {"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": [293, 295, 296, 299, 302, 304, 305], "excluded_lines": [], "start_line": 279}, "CacheService.get_cached_conversion_by_hash": {"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": [317, 319, 320, 322, 323, 325, 327], "excluded_lines": [], "start_line": 307}, "CacheService.invalidate_conversion_cache": {"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": [336, 337, 338], "excluded_lines": [], "start_line": 329}, "CacheService.invalidate_mod_analysis_cache": {"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": [347, 348, 349], "excluded_lines": [], "start_line": 340}, "CacheService.clear_all_caches": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [355, 356, 357, 358, 363, 364, 365, 366, 367, 368, 369], "excluded_lines": [], "start_line": 351}, "CacheService.get_cache_hit_rate": {"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": [378, 379, 380, 381], "excluded_lines": [], "start_line": 371}, "CacheService.get_ai_engine_progress": {"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": [395, 396, 397, 398, 399, 400, 401, 402, 403], "excluded_lines": [], "start_line": 385}, "CacheService.subscribe_to_ai_engine_progress": {"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": [415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425], "excluded_lines": [], "start_line": 405}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 26, 28, 60, 68, 80, 91, 98, 111, 125, 140, 154, 168, 178, 192, 198, 233, 249, 265, 279, 307, 329, 340, 351, 371, 385, 405], "excluded_lines": [], "start_line": 1}}, "classes": {"CacheService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 200, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 200, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37, 39, 40, 42, 43, 44, 45, 48, 49, 50, 54, 55, 56, 57, 58, 64, 65, 66, 69, 70, 71, 72, 76, 77, 78, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 102, 103, 104, 105, 106, 107, 108, 109, 114, 115, 116, 121, 122, 123, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 143, 144, 145, 150, 151, 152, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 171, 172, 173, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 193, 194, 195, 196, 199, 200, 201, 204, 208, 212, 213, 215, 222, 223, 224, 225, 231, 239, 240, 241, 243, 244, 245, 246, 247, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 269, 270, 271, 272, 273, 274, 275, 293, 295, 296, 299, 302, 304, 305, 317, 319, 320, 322, 323, 325, 327, 336, 337, 338, 347, 348, 349, 355, 356, 357, 358, 363, 364, 365, 366, 367, 368, 369, 378, 379, 380, 381, 395, 396, 397, 398, 399, 400, 401, 402, 403, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425], "excluded_lines": [], "start_line": 14}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 26, 28, 60, 68, 80, 91, 98, 111, 125, 140, 154, 168, 178, 192, 198, 233, 249, 265, 279, 307, 329, 340, 351, 371, 385, 405], "excluded_lines": [], "start_line": 1}}}, "src/services/comprehensive_report_generator.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 188, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 188, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 17, 31, 34, 37, 38, 39, 41, 44, 45, 46, 47, 50, 51, 53, 56, 71, 74, 76, 78, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 96, 111, 112, 113, 114, 115, 116, 118, 121, 122, 123, 124, 127, 128, 129, 132, 133, 135, 151, 155, 156, 157, 158, 160, 162, 174, 177, 178, 179, 182, 183, 184, 185, 188, 189, 190, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 211, 220, 228, 230, 241, 245, 248, 251, 252, 255, 258, 263, 271, 272, 274, 276, 278, 279, 280, 281, 282, 283, 285, 288, 289, 290, 292, 294, 296, 297, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 310, 312, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 326, 328, 332, 333, 335, 341, 343, 344, 346, 347, 352, 354, 355, 357, 358, 363, 365, 367, 368, 369, 370, 371, 372, 374, 376, 377, 379, 380, 384, 385, 387, 389, 391, 393, 394, 395, 397, 398, 400, 401, 402, 404, 406, 408, 410, 411, 412, 414, 415, 416, 417, 419], "excluded_lines": [], "functions": {"ConversionReportGenerator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38, 39], "excluded_lines": [], "start_line": 37}, "ConversionReportGenerator.generate_summary_report": {"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": [44, 45, 46, 47, 50, 51, 53, 56, 71, 74, 76], "excluded_lines": [], "start_line": 41}, "ConversionReportGenerator.generate_feature_analysis": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 96, 111, 112, 113, 114, 115, 116, 118, 121, 122, 123, 124, 127, 128, 129, 132, 133, 135], "excluded_lines": [], "start_line": 78}, "ConversionReportGenerator.generate_assumptions_report": {"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": [155, 156, 157, 158, 160, 162, 174, 177, 178, 179, 182, 183, 184, 185, 188, 189, 190, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 211, 220], "excluded_lines": [], "start_line": 151}, "ConversionReportGenerator.generate_developer_log": {"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": [230], "excluded_lines": [], "start_line": 228}, "ConversionReportGenerator.create_interactive_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": [245, 248, 251, 252, 255, 258, 263, 271, 272], "excluded_lines": [], "start_line": 241}, "ConversionReportGenerator._calculate_compatibility_score": {"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": [276, 278, 279, 280, 281, 282, 283, 285, 288, 289, 290, 292], "excluded_lines": [], "start_line": 274}, "ConversionReportGenerator._categorize_feature": {"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": [296, 297, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 310], "excluded_lines": [], "start_line": 294}, "ConversionReportGenerator._identify_conversion_pattern": {"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": [314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 326], "excluded_lines": [], "start_line": 312}, "ConversionReportGenerator._generate_compatibility_summary": {"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": [332, 333, 335], "excluded_lines": [], "start_line": 328}, "ConversionReportGenerator._generate_visual_overview": {"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": [343, 344, 346, 347], "excluded_lines": [], "start_line": 341}, "ConversionReportGenerator._generate_impact_summary": {"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": [354, 355, 357, 358], "excluded_lines": [], "start_line": 352}, "ConversionReportGenerator._generate_recommended_actions": {"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": [365, 367, 368, 369, 370, 371, 372, 374, 376, 377, 379, 380, 384, 385, 387], "excluded_lines": [], "start_line": 363}, "ConversionReportGenerator._identify_optimizations": {"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": [391, 393, 394, 395, 397, 398, 400, 401, 402, 404], "excluded_lines": [], "start_line": 389}, "ConversionReportGenerator._identify_technical_debt": {"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": [408, 410, 411, 412, 414, 415, 416, 417, 419], "excluded_lines": [], "start_line": 406}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 17, 31, 34, 37, 41, 78, 151, 228, 241, 274, 294, 312, 328, 341, 352, 363, 389, 406], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionReportGenerator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 167, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 167, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [38, 39, 44, 45, 46, 47, 50, 51, 53, 56, 71, 74, 76, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 96, 111, 112, 113, 114, 115, 116, 118, 121, 122, 123, 124, 127, 128, 129, 132, 133, 135, 155, 156, 157, 158, 160, 162, 174, 177, 178, 179, 182, 183, 184, 185, 188, 189, 190, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 211, 220, 230, 245, 248, 251, 252, 255, 258, 263, 271, 272, 276, 278, 279, 280, 281, 282, 283, 285, 288, 289, 290, 292, 296, 297, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 310, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 326, 332, 333, 335, 343, 344, 346, 347, 354, 355, 357, 358, 365, 367, 368, 369, 370, 371, 372, 374, 376, 377, 379, 380, 384, 385, 387, 391, 393, 394, 395, 397, 398, 400, 401, 402, 404, 408, 410, 411, 412, 414, 415, 416, 417, 419], "excluded_lines": [], "start_line": 34}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [13, 14, 15, 17, 31, 34, 37, 41, 78, 151, 228, 241, 274, 294, 312, 328, 341, 352, 363, 389, 406], "excluded_lines": [], "start_line": 1}}}, "src/services/conversion_failure_analysis.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 111, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 111, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 26, 27, 28, 31, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 48, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 110, 158, 160, 161, 163, 164, 165, 167, 168, 169, 170, 171, 172, 174, 177, 179, 180, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 202, 229, 232, 233, 236, 245, 248, 251, 269, 271, 274, 276, 286, 289, 291, 294, 295, 299, 300, 304, 305, 310, 316, 318, 319, 332, 339, 340], "excluded_lines": [], "functions": {"ConversionFailure.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": [79], "excluded_lines": [], "start_line": 77}, "determine_failure_severity": {"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": [160, 161, 163, 164, 165, 167, 168, 169, 170, 171, 172, 174], "excluded_lines": [], "start_line": 158}, "determine_failure_source": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [179, 180, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199], "excluded_lines": [], "start_line": 177}, "log_conversion_failure": {"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": [229, 232, 233, 236, 245, 248, 251, 269, 271], "excluded_lines": [], "start_line": 202}, "_get_user_message": {"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": [276, 286], "excluded_lines": [], "start_line": 274}, "_log_failure": {"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": [291, 294, 295, 299, 300, 304, 305, 310], "excluded_lines": [], "start_line": 289}, "log_retry_success": {"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": [318, 319], "excluded_lines": [], "start_line": 316}, "log_retry_failure": {"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": [339, 340], "excluded_lines": [], "start_line": 332}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 26, 27, 28, 31, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 48, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 110, 158, 177, 202, 274, 289, 316, 332], "excluded_lines": [], "start_line": 1}}, "classes": {"FailureSeverity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "FailureSource": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31}, "FailureDetail": {"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": 45}, "ConversionFailure": {"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": [79], "excluded_lines": [], "start_line": 58}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 26, 27, 28, 31, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 48, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 110, 158, 160, 161, 163, 164, 165, 167, 168, 169, 170, 171, 172, 174, 177, 179, 180, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 202, 229, 232, 233, 236, 245, 248, 251, 269, 271, 274, 276, 286, 289, 291, 294, 295, 299, 300, 304, 305, 310, 316, 318, 319, 332, 339, 340], "excluded_lines": [], "start_line": 1}}}, "src/services/conversion_parser.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 86, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 86, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 6, 9, 12, 14, 16, 17, 18, 19, 20, 22, 25, 27, 28, 29, 30, 31, 32, 34, 36, 37, 40, 51, 53, 54, 56, 57, 60, 61, 62, 63, 69, 70, 71, 72, 73, 79, 81, 83, 84, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 104, 105, 106, 109, 113, 122, 125, 126, 127, 128, 129, 130, 131, 132, 135, 141, 142, 143, 144, 145, 146, 153, 154, 157, 161, 162, 163, 164, 177, 188, 197], "excluded_lines": [], "functions": {"parse_json_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 16, 17, 18, 19, 20, 22], "excluded_lines": [], "start_line": 12}, "find_pack_folder": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28, 29, 30, 31, 32, 34, 36, 37], "excluded_lines": [], "start_line": 25}, "transform_pack_to_addon_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 61, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 61, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51, 53, 54, 56, 57, 60, 61, 62, 63, 69, 70, 71, 72, 73, 79, 81, 83, 84, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 104, 105, 106, 109, 113, 122, 125, 126, 127, 128, 129, 130, 131, 132, 135, 141, 142, 143, 144, 145, 146, 153, 154, 157, 161, 162, 163, 164, 177, 188, 197], "excluded_lines": [], "start_line": 40}, "": {"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": [1, 2, 3, 4, 6, 9, 12, 25, 40], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 86, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 86, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 6, 9, 12, 14, 16, 17, 18, 19, 20, 22, 25, 27, 28, 29, 30, 31, 32, 34, 36, 37, 40, 51, 53, 54, 56, 57, 60, 61, 62, 63, 69, 70, 71, 72, 73, 79, 81, 83, 84, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 104, 105, 106, 109, 113, 122, 125, 126, 127, 128, 129, 130, 131, 132, 135, 141, 142, 143, 144, 145, 146, 153, 154, 157, 161, 162, 163, 164, 177, 188, 197], "excluded_lines": [], "start_line": 1}}}, "src/services/conversion_queue.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 14, 17, 21, 22, 23, 24, 26, 27, 28, 30, 32, 33, 38, 40, 61, 62, 64, 77, 80, 82, 83, 85, 92, 95, 96, 97, 99, 100, 102, 104, 112, 113, 115, 117, 133, 135, 143, 146, 154, 156, 170, 173, 180, 183, 191, 193, 205, 208, 217, 219, 229, 231, 232, 233, 236, 238, 248, 258, 260, 261, 262, 264, 271, 273, 275, 277, 282, 284, 285, 286, 290, 293, 296, 297, 298], "excluded_lines": [], "functions": {"ConversionJobQueue.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28], "excluded_lines": [], "start_line": 26}, "ConversionJobQueue._get_redis": {"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, 33, 38], "excluded_lines": [], "start_line": 30}, "ConversionJobQueue.enqueue_job": {"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": [61, 62, 64, 77, 80, 82, 83], "excluded_lines": [], "start_line": 40}, "ConversionJobQueue.dequeue_job": {"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": [92, 95, 96, 97, 99, 100, 102, 104, 112, 113, 115], "excluded_lines": [], "start_line": 85}, "ConversionJobQueue.update_progress": {"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": [133, 135, 143, 146, 154], "excluded_lines": [], "start_line": 117}, "ConversionJobQueue.complete_job": {"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": [170, 173, 180, 183, 191], "excluded_lines": [], "start_line": 156}, "ConversionJobQueue.fail_job": {"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": [205, 208, 217], "excluded_lines": [], "start_line": 193}, "ConversionJobQueue.get_job_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": [229, 231, 232, 233, 236, 238], "excluded_lines": [], "start_line": 219}, "ConversionJobQueue.get_job_result": {"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": [258, 260, 261, 262, 264], "excluded_lines": [], "start_line": 248}, "ConversionJobQueue.get_queue_stats": {"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": [273, 275, 277], "excluded_lines": [], "start_line": 271}, "ConversionJobQueue.close": {"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": [284, 285, 286], "excluded_lines": [], "start_line": 282}, "get_conversion_job_queue": {"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": [296, 297, 298], "excluded_lines": [], "start_line": 293}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 14, 17, 21, 22, 23, 24, 26, 30, 40, 85, 117, 156, 193, 219, 248, 271, 282, 290, 293], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionJobQueue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [27, 28, 32, 33, 38, 61, 62, 64, 77, 80, 82, 83, 92, 95, 96, 97, 99, 100, 102, 104, 112, 113, 115, 133, 135, 143, 146, 154, 170, 173, 180, 183, 191, 205, 208, 217, 229, 231, 232, 233, 236, 238, 258, 260, 261, 262, 264, 273, 275, 277, 284, 285, 286], "excluded_lines": [], "start_line": 17}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 14, 17, 21, 22, 23, 24, 26, 30, 40, 85, 117, 156, 193, 219, 248, 271, 282, 290, 293, 296, 297, 298], "excluded_lines": [], "start_line": 1}}}, "src/services/conversion_report.py": {"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": [7, 8, 9, 10, 11, 13, 16, 19, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 48, 50, 58, 60, 68, 70, 72, 74, 75, 76, 78, 80, 93, 95, 107, 108, 109, 110, 111, 113, 114, 121, 122, 126, 127, 134, 135, 136, 138, 139, 146, 147, 149, 152, 155, 156, 157, 158, 160, 177, 178, 180, 191, 193, 194, 195, 197, 198, 200, 202, 203, 204, 206, 207, 209, 212, 214, 216, 227, 228, 229, 231, 236, 237, 240, 241, 242, 243, 244, 246, 248, 252, 255, 258, 259, 260], "excluded_lines": [], "functions": {"ConversionReport.__init__": {"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": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34], "excluded_lines": [], "start_line": 19}, "ConversionReport.add_stage": {"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}, "ConversionReport.add_assumption": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [50], "excluded_lines": [], "start_line": 48}, "ConversionReport.add_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [60], "excluded_lines": [], "start_line": 58}, "ConversionReport.set_metrics": {"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": [70], "excluded_lines": [], "start_line": 68}, "ConversionReport.complete": {"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": 72}, "ConversionReport.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": [80], "excluded_lines": [], "start_line": 78}, "ConversionReport.to_markdown": {"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": [95, 107, 108, 109, 110, 111, 113, 114, 121, 122, 126, 127, 134, 135, 136, 138, 139, 146, 147, 149], "excluded_lines": [], "start_line": 93}, "ConversionReportGenerator.__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": [156, 157, 158], "excluded_lines": [], "start_line": 155}, "ConversionReportGenerator.generate_report": {"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": [177, 178], "excluded_lines": [], "start_line": 160}, "ConversionReportGenerator.save_report": {"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": [191, 193, 194, 195, 197, 198, 200, 202, 203, 204, 206, 207, 209, 212, 214], "excluded_lines": [], "start_line": 180}, "ConversionReportGenerator.get_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [227, 228, 229, 231, 236, 237, 240, 241, 242, 243, 244, 246, 248], "excluded_lines": [], "start_line": 216}, "get_report_generator": {"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": [258, 259, 260], "excluded_lines": [], "start_line": 255}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 16, 19, 36, 48, 58, 68, 72, 78, 93, 152, 155, 160, 180, 216, 252, 255], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionReport": {"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": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 38, 50, 60, 70, 74, 75, 76, 80, 95, 107, 108, 109, 110, 111, 113, 114, 121, 122, 126, 127, 134, 135, 136, 138, 139, 146, 147, 149], "excluded_lines": [], "start_line": 16}, "ConversionReportGenerator": {"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": [156, 157, 158, 177, 178, 191, 193, 194, 195, 197, 198, 200, 202, 203, 204, 206, 207, 209, 212, 214, 227, 228, 229, 231, 236, 237, 240, 241, 242, 243, 244, 246, 248], "excluded_lines": [], "start_line": 152}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 16, 19, 36, 48, 58, 68, 72, 78, 93, 152, 155, 160, 180, 216, 252, 255, 258, 259, 260], "excluded_lines": [], "start_line": 1}}}, "src/services/conversion_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 164, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 164, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 13, 14, 15, 16, 17, 19, 21, 26, 27, 28, 37, 40, 41, 43, 44, 46, 47, 48, 51, 63, 64, 65, 68, 80, 85, 86, 88, 107, 113, 116, 117, 121, 123, 125, 127, 155, 156, 158, 161, 162, 165, 171, 173, 181, 188, 189, 190, 194, 195, 196, 197, 198, 201, 203, 204, 210, 212, 213, 214, 215, 216, 217, 218, 219, 222, 225, 227, 229, 237, 238, 243, 250, 251, 252, 257, 258, 259, 265, 269, 271, 273, 274, 275, 276, 277, 278, 280, 282, 283, 284, 285, 286, 287, 289, 291, 292, 293, 294, 296, 298, 299, 300, 301, 302, 303, 305, 312, 313, 318, 319, 320, 321, 324, 325, 326, 327, 328, 329, 330, 331, 333, 336, 344, 345, 346, 347, 349, 352, 361, 364, 365, 367, 368, 369, 370, 371, 372, 374, 390, 400, 402, 414, 421, 428, 431, 434, 435, 436, 439, 458, 460, 461, 462, 463, 464, 466, 468, 469, 477, 478, 480, 481, 482], "excluded_lines": [], "functions": {"_get_container_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [63, 64, 65], "excluded_lines": [], "start_line": 51}, "ConversionService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [85, 86], "excluded_lines": [], "start_line": 80}, "ConversionService._transfer_file_to_ai_engine": {"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": [107, 113, 116, 117, 121, 123, 125], "excluded_lines": [], "start_line": 88}, "ConversionService.process_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 70, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 70, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [155, 156, 158, 161, 162, 165, 171, 173, 181, 188, 189, 190, 194, 195, 196, 197, 198, 201, 203, 204, 210, 212, 213, 214, 215, 216, 217, 218, 219, 222, 225, 227, 229, 237, 238, 243, 250, 251, 252, 257, 258, 259, 265, 269, 271, 273, 274, 275, 276, 277, 278, 280, 282, 283, 284, 285, 286, 287, 289, 291, 292, 293, 294, 296, 298, 299, 300, 301, 302, 303], "excluded_lines": [], "start_line": 127}, "ConversionService._poll_and_broadcast": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [312, 313, 318, 319, 320, 321, 324, 325, 326, 327, 328, 329, 330, 331, 333, 336, 344, 345, 346, 347, 349, 352, 361, 364, 365, 367, 368, 369, 370, 371, 372], "excluded_lines": [], "start_line": 305}, "ConversionService._update_job_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [390, 400], "excluded_lines": [], "start_line": 374}, "ConversionService._handle_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [414, 421], "excluded_lines": [], "start_line": 402}, "get_conversion_service": {"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": [434, 435, 436], "excluded_lines": [], "start_line": 431}, "process_conversion_task": {"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": [458, 460, 461, 462, 463, 464, 466, 468, 469, 477, 478, 480, 481, 482], "excluded_lines": [], "start_line": 439}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 13, 14, 15, 16, 17, 19, 21, 26, 27, 28, 37, 40, 41, 43, 44, 46, 47, 48, 51, 68, 80, 88, 127, 305, 374, 402, 428, 431, 439], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 114, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 114, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [85, 86, 107, 113, 116, 117, 121, 123, 125, 155, 156, 158, 161, 162, 165, 171, 173, 181, 188, 189, 190, 194, 195, 196, 197, 198, 201, 203, 204, 210, 212, 213, 214, 215, 216, 217, 218, 219, 222, 225, 227, 229, 237, 238, 243, 250, 251, 252, 257, 258, 259, 265, 269, 271, 273, 274, 275, 276, 277, 278, 280, 282, 283, 284, 285, 286, 287, 289, 291, 292, 293, 294, 296, 298, 299, 300, 301, 302, 303, 312, 313, 318, 319, 320, 321, 324, 325, 326, 327, 328, 329, 330, 331, 333, 336, 344, 345, 346, 347, 349, 352, 361, 364, 365, 367, 368, 369, 370, 371, 372, 390, 400, 414, 421], "excluded_lines": [], "start_line": 68}, "": {"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": [12, 13, 14, 15, 16, 17, 19, 21, 26, 27, 28, 37, 40, 41, 43, 44, 46, 47, 48, 51, 63, 64, 65, 68, 80, 88, 127, 305, 374, 402, 428, 431, 434, 435, 436, 439, 458, 460, 461, 462, 463, 464, 466, 468, 469, 477, 478, 480, 481, 482], "excluded_lines": [], "start_line": 1}}}, "src/services/curseforge_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 83, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 83, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 16, 18, 21, 24, 25, 26, 27, 36, 59, 61, 68, 69, 70, 71, 73, 74, 75, 81, 82, 83, 84, 85, 87, 97, 99, 100, 101, 106, 107, 108, 109, 110, 112, 129, 131, 134, 135, 137, 138, 139, 145, 146, 147, 148, 149, 151, 166, 168, 169, 170, 175, 176, 177, 178, 179, 180, 182, 192, 193, 195, 196, 197, 203, 204, 205, 206, 207, 209, 223, 226, 227, 230, 231, 233, 234, 235, 241, 245], "excluded_lines": [], "functions": {"CurseForgeService.__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, 26, 27], "excluded_lines": [], "start_line": 24}, "CurseForgeService.search_mods": {"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": [59, 61, 68, 69, 70, 71, 73, 74, 75, 81, 82, 83, 84, 85], "excluded_lines": [], "start_line": 36}, "CurseForgeService.get_mod_info": {"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": [97, 99, 100, 101, 106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 87}, "CurseForgeService.get_mod_files": {"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": [129, 131, 134, 135, 137, 138, 139, 145, 146, 147, 148, 149], "excluded_lines": [], "start_line": 112}, "CurseForgeService.get_file_download_url": {"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": [166, 168, 169, 170, 175, 176, 177, 178, 179, 180], "excluded_lines": [], "start_line": 151}, "CurseForgeService.get_categories": {"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": [192, 193, 195, 196, 197, 203, 204, 205, 206, 207], "excluded_lines": [], "start_line": 182}, "CurseForgeService.parse_curseforge_url": {"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": [223, 226, 227, 230, 231, 233, 234, 235, 241], "excluded_lines": [], "start_line": 209}, "": {"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": [8, 9, 10, 11, 13, 16, 18, 21, 24, 36, 87, 112, 151, 182, 209, 245], "excluded_lines": [], "start_line": 1}}, "classes": {"CurseForgeService": {"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": [25, 26, 27, 59, 61, 68, 69, 70, 71, 73, 74, 75, 81, 82, 83, 84, 85, 97, 99, 100, 101, 106, 107, 108, 109, 110, 129, 131, 134, 135, 137, 138, 139, 145, 146, 147, 148, 149, 166, 168, 169, 170, 175, 176, 177, 178, 179, 180, 192, 193, 195, 196, 197, 203, 204, 205, 206, 207, 223, 226, 227, 230, 231, 233, 234, 235, 241], "excluded_lines": [], "start_line": 21}, "": {"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": [8, 9, 10, 11, 13, 16, 18, 21, 24, 36, 87, 112, 151, 182, 209, 245], "excluded_lines": [], "start_line": 1}}}, "src/services/email_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 78, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 78, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 30, 36, 37, 38, 39, 41, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 56, 67, 68, 71, 72, 73, 74, 76, 78, 81, 83, 91, 93, 94, 96, 97, 98, 100, 111, 118, 119, 120, 121, 123, 129, 135, 154, 160, 181, 186, 211, 219, 220, 221, 240, 241, 242, 256, 274, 277, 283, 284, 286, 288, 289, 290, 292, 294], "excluded_lines": [], "functions": {"SendGridEmailService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [36, 37, 38, 39], "excluded_lines": [], "start_line": 30}, "SendGridEmailService._get_client": {"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": [43, 44, 45, 46, 48, 49, 50, 51, 52, 54], "excluded_lines": [], "start_line": 41}, "SendGridEmailService.send": {"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": [67, 68, 71, 72, 73, 74, 76, 78, 81, 83, 91, 93, 94, 96, 97, 98], "excluded_lines": [], "start_line": 56}, "SendGridEmailService._render_template": {"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": [111, 118, 119, 120, 121, 123], "excluded_lines": [], "start_line": 100}, "SendGridEmailService._email_verification_template": {"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": [135], "excluded_lines": [], "start_line": 129}, "SendGridEmailService._password_reset_template": {"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": 154}, "SendGridEmailService._welcome_template": {"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": [186], "excluded_lines": [], "start_line": 181}, "SendGridEmailService._conversion_complete_template": {"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": [219, 220, 221, 240, 241, 242, 256], "excluded_lines": [], "start_line": 211}, "get_email_service": {"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": [283, 284, 286, 288, 289, 290, 292, 294], "excluded_lines": [], "start_line": 277}, "": {"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": [7, 8, 9, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 30, 41, 56, 100, 129, 154, 181, 211, 274, 277], "excluded_lines": [], "start_line": 1}}, "classes": {"EmailMessage": {"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}, "SendGridEmailService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [36, 37, 38, 39, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 67, 68, 71, 72, 73, 74, 76, 78, 81, 83, 91, 93, 94, 96, 97, 98, 111, 118, 119, 120, 121, 123, 135, 160, 186, 219, 220, 221, 240, 241, 242, 256], "excluded_lines": [], "start_line": 27}, "": {"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": [7, 8, 9, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 30, 41, 56, 100, 129, 154, 181, 211, 274, 277, 283, 284, 286, 288, 289, 290, 292, 294], "excluded_lines": [], "start_line": 1}}}, "src/services/error_classifier.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 125, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 125, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 15, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 42, 43, 44, 48, 204, 224, 244, 247, 255, 256, 257, 258, 259, 261, 262, 267, 269, 278, 286, 288, 289, 291, 293, 294, 298, 305, 306, 308, 309, 310, 312, 313, 315, 317, 332, 333, 334, 335, 338, 339, 340, 343, 345, 347, 348, 349, 351, 364, 365, 376, 379, 380, 394, 405, 406, 407, 416, 417, 423, 424, 431, 432, 435, 436, 441, 442, 449, 451, 452, 453, 465, 466, 467, 474, 475, 478, 479, 481, 482, 483, 484, 490, 491, 497, 498, 504, 505, 511, 512, 519, 520, 522, 524, 531, 549, 553, 556, 559, 560, 561, 564, 578], "excluded_lines": [], "functions": {"ErrorClassification.__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": [255, 256, 257, 258, 259], "excluded_lines": [], "start_line": 247}, "ErrorClassification.__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": [262], "excluded_lines": [], "start_line": 261}, "ErrorClassification.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": [269], "excluded_lines": [], "start_line": 267}, "ErrorClassifier.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [288, 289], "excluded_lines": [], "start_line": 286}, "ErrorClassifier._compile_patterns": {"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": [293, 294], "excluded_lines": [], "start_line": 291}, "ErrorClassifier._match_patterns": {"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": [305, 306, 308, 309, 310, 312, 313, 315], "excluded_lines": [], "start_line": 298}, "ErrorClassifier.classify": {"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": [332, 333, 334, 335, 338, 339, 340, 343, 345, 347, 348, 349, 351, 364, 365], "excluded_lines": [], "start_line": 317}, "ErrorClassifier._check_direct_type": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [379, 380, 394, 405, 406, 407, 416, 417, 423, 424, 431, 432, 435, 436, 441, 442, 449, 451, 452, 453, 465, 466, 467, 474, 475, 478, 479, 481, 482, 483, 484, 490, 491, 497, 498, 504, 505, 511, 512, 519, 520, 522], "excluded_lines": [], "start_line": 376}, "ErrorClassifier.get_recovery_priority": {"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": [531, 549], "excluded_lines": [], "start_line": 524}, "get_classifier": {"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": [559, 560, 561], "excluded_lines": [], "start_line": 556}, "classify_error": {"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": [578], "excluded_lines": [], "start_line": 564}, "": {"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": [10, 11, 12, 13, 15, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 42, 43, 44, 48, 204, 224, 244, 247, 261, 267, 278, 286, 291, 298, 317, 376, 524, 553, 556, 564], "excluded_lines": [], "start_line": 1}}, "classes": {"ErrorType": {"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": 18}, "ErrorSeverity": {"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": 39}, "ErrorClassification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [255, 256, 257, 258, 259, 262, 269], "excluded_lines": [], "start_line": 244}, "ErrorClassifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 71, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 71, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [288, 289, 293, 294, 305, 306, 308, 309, 310, 312, 313, 315, 332, 333, 334, 335, 338, 339, 340, 343, 345, 347, 348, 349, 351, 364, 365, 379, 380, 394, 405, 406, 407, 416, 417, 423, 424, 431, 432, 435, 436, 441, 442, 449, 451, 452, 453, 465, 466, 467, 474, 475, 478, 479, 481, 482, 483, 484, 490, 491, 497, 498, 504, 505, 511, 512, 519, 520, 522, 531, 549], "excluded_lines": [], "start_line": 278}, "": {"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": [10, 11, 12, 13, 15, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 42, 43, 44, 48, 204, 224, 244, 247, 261, 267, 278, 286, 291, 298, 317, 376, 524, 553, 556, 559, 560, 561, 564, 578], "excluded_lines": [], "start_line": 1}}}, "src/services/error_handler.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 88, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 88, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 15, 18, 21, 22, 23, 24, 27, 30, 31, 34, 37, 38, 41, 44, 45, 48, 51, 52, 55, 77, 78, 79, 80, 82, 83, 84, 86, 87, 89, 90, 91, 94, 95, 96, 98, 103, 105, 107, 108, 110, 112, 113, 116, 118, 120, 123, 133, 134, 141, 142, 149, 150, 157, 158, 167, 175, 185, 186, 189, 192, 193, 194, 196, 198, 200, 201, 203, 204, 206, 210, 212, 218, 230, 231, 234, 235, 237, 241, 244, 247, 248, 249], "excluded_lines": [], "functions": {"ConversionError.__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": [22, 23, 24], "excluded_lines": [], "start_line": 21}, "AIEngineUnavailableError.__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": [31], "excluded_lines": [], "start_line": 30}, "ConversionTimeoutError.__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": [38], "excluded_lines": [], "start_line": 37}, "InvalidInputError.__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": [45], "excluded_lines": [], "start_line": 44}, "ModelUnavailableError.__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": [52], "excluded_lines": [], "start_line": 51}, "retry_with_backoff": {"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": [77, 78, 120], "excluded_lines": [], "start_line": 55}, "retry_with_backoff.decorator": {"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": [79, 118], "excluded_lines": [], "start_line": 77}, "retry_with_backoff.decorator.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [80, 82, 83, 84, 86, 87, 89, 90, 91, 94, 95, 96, 98, 103, 105, 107, 108, 110, 112, 113, 116], "excluded_lines": [], "start_line": 79}, "categorize_error": {"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": [133, 134, 141, 142, 149, 150, 157, 158, 167], "excluded_lines": [], "start_line": 123}, "get_user_friendly_error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [185, 186], "excluded_lines": [], "start_line": 175}, "ErrorHandler.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [193, 194], "excluded_lines": [], "start_line": 192}, "ErrorHandler.record_error": {"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": [198, 200, 201, 203, 204, 206], "excluded_lines": [], "start_line": 196}, "ErrorHandler.get_error_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [212], "excluded_lines": [], "start_line": 210}, "ErrorHandler.should_alert": {"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": [230, 231, 234, 235, 237], "excluded_lines": [], "start_line": 218}, "get_error_handler": {"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": [247, 248, 249], "excluded_lines": [], "start_line": 244}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 13, 15, 18, 21, 27, 30, 34, 37, 41, 44, 48, 51, 55, 123, 175, 189, 192, 196, 210, 218, 241, 244], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionError": {"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": [22, 23, 24], "excluded_lines": [], "start_line": 18}, "AIEngineUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31], "excluded_lines": [], "start_line": 27}, "ConversionTimeoutError": {"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": 34}, "InvalidInputError": {"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": 41}, "ModelUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [52], "excluded_lines": [], "start_line": 48}, "ErrorHandler": {"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": [193, 194, 198, 200, 201, 203, 204, 206, 212, 230, 231, 234, 235, 237], "excluded_lines": [], "start_line": 189}, "": {"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": [7, 8, 9, 10, 11, 13, 15, 18, 21, 27, 30, 34, 37, 41, 44, 48, 51, 55, 77, 78, 79, 80, 82, 83, 84, 86, 87, 89, 90, 91, 94, 95, 96, 98, 103, 105, 107, 108, 110, 112, 113, 116, 118, 120, 123, 133, 134, 141, 142, 149, 150, 157, 158, 167, 175, 185, 186, 189, 192, 196, 210, 218, 241, 244, 247, 248, 249], "excluded_lines": [], "start_line": 1}}}, "src/services/error_handlers.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 185, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 185, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 25, 27, 31, 34, 37, 38, 40, 41, 42, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 71, 72, 73, 74, 75, 76, 79, 82, 88, 97, 100, 106, 115, 118, 124, 133, 136, 137, 147, 163, 166, 172, 173, 183, 186, 192, 201, 204, 210, 219, 222, 228, 237, 240, 246, 255, 263, 264, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 303, 306, 316, 317, 320, 321, 322, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 345, 347, 348, 349, 353, 354, 357, 358, 360, 374, 376, 377, 378, 379, 380, 383, 385, 386, 391, 397, 400, 402, 403, 406, 407, 411, 414, 418, 419, 422, 426, 431, 438, 441, 444, 448, 453, 459, 460, 463, 470, 472, 473, 479, 480, 481, 482, 483, 488, 491, 494, 497, 508, 510, 517, 518, 521, 522, 524], "excluded_lines": [], "functions": {"is_debug_mode": {"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": [27], "excluded_lines": [], "start_line": 25}, "ModPorterException.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [71, 72, 73, 74, 75, 76], "excluded_lines": [], "start_line": 63}, "ConversionException.__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": [88], "excluded_lines": [], "start_line": 82}, "FileProcessingException.__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": [106], "excluded_lines": [], "start_line": 100}, "ValidationException.__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": [124], "excluded_lines": [], "start_line": 118}, "NotFoundException.__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": [137], "excluded_lines": [], "start_line": 136}, "RateLimitException.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [172, 173], "excluded_lines": [], "start_line": 166}, "ParseError.__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": [192], "excluded_lines": [], "start_line": 186}, "AssetError.__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": [210], "excluded_lines": [], "start_line": 204}, "LogicError.__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": [228], "excluded_lines": [], "start_line": 222}, "PackageError.__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": [246], "excluded_lines": [], "start_line": 240}, "_categorize_error": {"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": [263, 264, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 303], "excluded_lines": [], "start_line": 255}, "create_error_response": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [316, 317, 320, 321, 322, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 345, 347, 348, 349, 353, 354, 357, 358, 360], "excluded_lines": [], "start_line": 306}, "_record_error_metric": {"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": [376, 377, 378, 379, 380], "excluded_lines": [], "start_line": 374}, "modporter_exception_handler": {"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": [385, 386, 391, 397], "excluded_lines": [], "start_line": 383}, "http_exception_handler": {"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": [402, 403, 406, 407, 411], "excluded_lines": [], "start_line": 400}, "validation_exception_handler": {"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": [418, 419, 422, 426], "excluded_lines": [], "start_line": 414}, "generic_exception_handler": {"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": [438, 441, 444, 448], "excluded_lines": [], "start_line": 431}, "register_exception_handlers": {"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": [459, 460, 463, 470, 472, 473, 479, 480, 481, 482, 483, 488, 491, 494], "excluded_lines": [], "start_line": 453}, "verify_exception_handlers": {"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": [508, 510, 517, 518, 521, 522, 524], "excluded_lines": [], "start_line": 497}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 25, 31, 34, 37, 38, 40, 41, 42, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 79, 82, 97, 100, 115, 118, 133, 136, 147, 163, 166, 183, 186, 201, 204, 219, 222, 237, 240, 255, 306, 374, 383, 400, 414, 431, 453, 497], "excluded_lines": [], "start_line": 1}}, "classes": {"ErrorResponse": {"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": 45}, "ModPorterException": {"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": [71, 72, 73, 74, 75, 76], "excluded_lines": [], "start_line": 60}, "ConversionException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [88], "excluded_lines": [], "start_line": 79}, "FileProcessingException": {"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": [106], "excluded_lines": [], "start_line": 97}, "ValidationException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124], "excluded_lines": [], "start_line": 115}, "NotFoundException": {"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": [137], "excluded_lines": [], "start_line": 133}, "RateLimitException": {"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": [172, 173], "excluded_lines": [], "start_line": 163}, "ParseError": {"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": [192], "excluded_lines": [], "start_line": 183}, "AssetError": {"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": [210], "excluded_lines": [], "start_line": 201}, "LogicError": {"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": [228], "excluded_lines": [], "start_line": 219}, "PackageError": {"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": [246], "excluded_lines": [], "start_line": 237}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 169, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 169, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 25, 27, 31, 34, 37, 38, 40, 41, 42, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 79, 82, 97, 100, 115, 118, 133, 136, 147, 163, 166, 183, 186, 201, 204, 219, 222, 237, 240, 255, 263, 264, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, 282, 283, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 303, 306, 316, 317, 320, 321, 322, 325, 326, 327, 328, 329, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 345, 347, 348, 349, 353, 354, 357, 358, 360, 374, 376, 377, 378, 379, 380, 383, 385, 386, 391, 397, 400, 402, 403, 406, 407, 411, 414, 418, 419, 422, 426, 431, 438, 441, 444, 448, 453, 459, 460, 463, 470, 472, 473, 479, 480, 481, 482, 483, 488, 491, 494, 497, 508, 510, 517, 518, 521, 522, 524], "excluded_lines": [], "start_line": 1}}}, "src/services/error_patterns.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 15, 17, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 40, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 55, 56, 57, 58, 59, 61, 63, 64, 65, 68, 76, 78, 79, 81, 85, 125, 158, 191, 224, 257, 290, 323, 349, 382, 408, 427, 460, 485, 487, 489, 504, 505, 506, 508, 514, 515, 517, 519, 521, 522, 523, 524, 526, 528, 529, 530, 531, 533, 535, 536, 538, 540, 541, 542, 543, 544, 546, 548, 554, 556, 560, 563, 566, 567, 568, 571, 576, 579, 581, 584, 586], "excluded_lines": [], "functions": {"ErrorPattern.get_primary_recovery": {"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": [63, 64, 65], "excluded_lines": [], "start_line": 61}, "ErrorPatternLibrary.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [78, 79], "excluded_lines": [], "start_line": 76}, "ErrorPatternLibrary._build_builtin_patterns": {"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": [85, 125, 158, 191, 224, 257, 290, 323, 349, 382, 408, 427, 460], "excluded_lines": [], "start_line": 81}, "ErrorPatternLibrary.get_pattern": {"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": [487], "excluded_lines": [], "start_line": 485}, "ErrorPatternLibrary.get_recovery_actions": {"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": [504, 505, 506, 508, 514, 515, 517], "excluded_lines": [], "start_line": 489}, "ErrorPatternLibrary.should_escalate": {"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": [521, 522, 523, 524], "excluded_lines": [], "start_line": 519}, "ErrorPatternLibrary.get_fallback_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [528, 529, 530, 531], "excluded_lines": [], "start_line": 526}, "ErrorPatternLibrary.register_pattern": {"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": [535, 536], "excluded_lines": [], "start_line": 533}, "ErrorPatternLibrary.unregister_pattern": {"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": [540, 541, 542, 543, 544], "excluded_lines": [], "start_line": 538}, "ErrorPatternLibrary.get_patterns_by_tag": {"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": [548], "excluded_lines": [], "start_line": 546}, "ErrorPatternLibrary.get_all_patterns": {"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": [556], "excluded_lines": [], "start_line": 554}, "get_pattern_library": {"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": [566, 567, 568], "excluded_lines": [], "start_line": 563}, "get_recovery_actions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [576], "excluded_lines": [], "start_line": 571}, "should_escalate": {"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": [581], "excluded_lines": [], "start_line": 579}, "get_fallback_mode": {"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": [586], "excluded_lines": [], "start_line": 584}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 15, 17, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 40, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 55, 56, 57, 58, 59, 61, 68, 76, 81, 485, 489, 519, 526, 533, 538, 546, 554, 560, 563, 571, 579, 584], "excluded_lines": [], "start_line": 1}}, "classes": {"RecoveryStrategy": {"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": 20}, "RecoveryAction": {"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": 37}, "ErrorPattern": {"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": [63, 64, 65], "excluded_lines": [], "start_line": 50}, "ErrorPatternLibrary": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [78, 79, 85, 125, 158, 191, 224, 257, 290, 323, 349, 382, 408, 427, 460, 487, 504, 505, 506, 508, 514, 515, 517, 521, 522, 523, 524, 528, 529, 530, 531, 535, 536, 540, 541, 542, 543, 544, 548, 556], "excluded_lines": [], "start_line": 68}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 15, 17, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 40, 41, 42, 43, 44, 45, 46, 49, 50, 53, 54, 55, 56, 57, 58, 59, 61, 68, 76, 81, 485, 489, 519, 526, 533, 538, 546, 554, 560, 563, 566, 567, 568, 571, 576, 579, 581, 584, 586], "excluded_lines": [], "start_line": 1}}}, "src/services/error_recovery.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 296, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 296, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21, 22, 23, 25, 33, 40, 43, 46, 47, 48, 49, 50, 51, 54, 55, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 70, 71, 72, 75, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 94, 95, 96, 98, 99, 101, 103, 104, 106, 109, 112, 113, 114, 116, 123, 124, 125, 126, 128, 130, 131, 132, 133, 134, 136, 138, 140, 142, 144, 146, 149, 152, 153, 154, 156, 158, 160, 172, 173, 184, 185, 188, 189, 190, 191, 192, 194, 196, 198, 201, 204, 205, 206, 207, 209, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 223, 225, 227, 239, 245, 246, 247, 248, 251, 253, 254, 255, 257, 258, 259, 260, 261, 263, 265, 274, 275, 277, 279, 287, 288, 290, 291, 292, 295, 296, 297, 300, 301, 303, 305, 313, 315, 316, 318, 319, 320, 322, 324, 326, 327, 328, 330, 331, 333, 334, 335, 337, 338, 340, 342, 350, 351, 353, 354, 355, 356, 358, 359, 361, 363, 371, 372, 373, 375, 376, 378, 380, 388, 389, 396, 403, 411, 412, 419, 427, 428, 429, 430, 432, 440, 441, 447, 455, 461, 469, 471, 479, 482, 495, 501, 502, 503, 505, 506, 507, 509, 526, 527, 528, 530, 536, 539, 540, 543, 544, 545, 547, 556, 559, 560, 567, 569, 570, 571, 572, 573, 574, 575, 578, 579, 582, 583, 584, 585, 586, 587, 588, 589, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 606, 608, 610, 614, 627, 628, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 641, 642, 643, 645, 647, 648, 649, 650, 651, 652, 655, 656, 658, 659, 661, 663, 667, 670, 673, 674, 675, 678, 694], "excluded_lines": [618], "functions": {"RecoveryAttempt.duration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [70, 71, 72], "excluded_lines": [], "start_line": 68}, "RecoveryResult.total_duration": {"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": [94, 95, 96], "excluded_lines": [], "start_line": 92}, "RecoveryResult.succeeded": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [101], "excluded_lines": [], "start_line": 99}, "RecoveryResult.recovered_with_degraded": {"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": [106], "excluded_lines": [], "start_line": 104}, "DegradedModeManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [113, 114], "excluded_lines": [], "start_line": 112}, "DegradedModeManager.enable_degraded_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [123, 124, 125, 126], "excluded_lines": [], "start_line": 116}, "DegradedModeManager.disable_degraded_mode": {"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": [130, 131, 132, 133, 134], "excluded_lines": [], "start_line": 128}, "DegradedModeManager.is_degraded": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [138], "excluded_lines": [], "start_line": 136}, "DegradedModeManager.get_fallback_handler": {"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": [142], "excluded_lines": [], "start_line": 140}, "DegradedModeManager.get_all_degraded_features": {"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": [146], "excluded_lines": [], "start_line": 144}, "EscalationManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [153, 154], "excluded_lines": [], "start_line": 152}, "EscalationManager.register_handler": {"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": [158], "excluded_lines": [], "start_line": 156}, "EscalationManager.escalate": {"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": [172, 173, 184, 185, 188, 189, 190, 191, 192, 194], "excluded_lines": [], "start_line": 160}, "EscalationManager.get_pending_escalations": {"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": [198], "excluded_lines": [], "start_line": 196}, "RecoveryStrategyExecutor.__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": [205, 206, 207], "excluded_lines": [], "start_line": 204}, "RecoveryStrategyExecutor._register_default_handlers": {"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": [211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "excluded_lines": [], "start_line": 209}, "RecoveryStrategyExecutor.register_handler": {"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": [225], "excluded_lines": [], "start_line": 223}, "RecoveryStrategyExecutor.execute": {"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": [239, 245, 246, 247, 248, 251, 253, 254, 255, 257, 258, 259, 260, 261, 263], "excluded_lines": [], "start_line": 227}, "RecoveryStrategyExecutor._execute_handler": {"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": [274, 275, 277], "excluded_lines": [], "start_line": 265}, "RecoveryStrategyExecutor._handle_retry": {"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": [287, 288, 290, 291, 292, 295, 296, 297, 300, 301, 303], "excluded_lines": [], "start_line": 279}, "RecoveryStrategyExecutor._handle_retry_with_backoff": {"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": [313, 315, 316, 318, 319, 320, 322, 324, 326, 327, 328, 330, 331, 333, 334, 335, 337, 338, 340], "excluded_lines": [], "start_line": 305}, "RecoveryStrategyExecutor._handle_fallback_service": {"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": [350, 351, 353, 354, 355, 356, 358, 359, 361], "excluded_lines": [], "start_line": 342}, "RecoveryStrategyExecutor._handle_fallback_method": {"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": [371, 372, 373, 375, 376, 378], "excluded_lines": [], "start_line": 363}, "RecoveryStrategyExecutor._handle_degraded_mode": {"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": [388, 389, 396], "excluded_lines": [], "start_line": 380}, "RecoveryStrategyExecutor._handle_skip_and_continue": {"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": [411, 412], "excluded_lines": [], "start_line": 403}, "RecoveryStrategyExecutor._handle_use_cache": {"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": [427, 428, 429, 430], "excluded_lines": [], "start_line": 419}, "RecoveryStrategyExecutor._handle_use_default": {"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": [440, 441], "excluded_lines": [], "start_line": 432}, "RecoveryStrategyExecutor._handle_notify_user": {"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": [455], "excluded_lines": [], "start_line": 447}, "RecoveryStrategyExecutor._handle_escalate": {"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": [469], "excluded_lines": [], "start_line": 461}, "RecoveryStrategyExecutor._handle_no_recovery": {"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": [479], "excluded_lines": [], "start_line": 471}, "ErrorSupervisor.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [501, 502, 503, 505, 506, 507], "excluded_lines": [], "start_line": 495}, "ErrorSupervisor.supervise": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [526, 527, 528, 530, 536, 539, 540, 543, 544, 545, 547, 556, 559, 560, 567, 569, 570, 571, 572, 573, 574, 575, 578, 579, 582, 583, 584, 585, 586, 587, 588, 589, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 606], "excluded_lines": [], "start_line": 509}, "ErrorSupervisor.register_escalation_handler": {"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": [610], "excluded_lines": [], "start_line": 608}, "with_supervision": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [627, 663], "excluded_lines": [618], "start_line": 614}, "with_supervision.decorator": {"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": [628, 630, 647, 658, 659, 661], "excluded_lines": [], "start_line": 627}, "with_supervision.decorator.async_wrapper": {"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": [631, 632, 633, 634, 635, 636, 637, 638, 639, 641, 642, 643, 645], "excluded_lines": [], "start_line": 630}, "with_supervision.decorator.sync_wrapper": {"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": [648, 649, 650, 651, 652, 655, 656], "excluded_lines": [], "start_line": 647}, "get_supervisor": {"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": [673, 674, 675], "excluded_lines": [], "start_line": 670}, "recover": {"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": [694], "excluded_lines": [], "start_line": 678}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 84, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 84, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21, 22, 23, 25, 33, 40, 43, 46, 47, 48, 49, 50, 51, 54, 55, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 75, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 98, 99, 103, 104, 109, 112, 116, 128, 136, 140, 144, 149, 152, 156, 160, 196, 201, 204, 209, 223, 227, 265, 279, 305, 342, 363, 380, 403, 419, 432, 447, 461, 471, 482, 495, 509, 608, 614, 667, 670, 678], "excluded_lines": [], "start_line": 1}}, "classes": {"RecoveryStatus": {"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": 43}, "RecoveryAttempt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [70, 71, 72], "excluded_lines": [], "start_line": 55}, "RecoveryResult": {"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": [94, 95, 96, 101, 106], "excluded_lines": [], "start_line": 76}, "DegradedModeManager": {"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": [113, 114, 123, 124, 125, 126, 130, 131, 132, 133, 134, 138, 142, 146], "excluded_lines": [], "start_line": 109}, "EscalationManager": {"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": [153, 154, 158, 172, 173, 184, 185, 188, 189, 190, 191, 192, 194, 198], "excluded_lines": [], "start_line": 149}, "RecoveryStrategyExecutor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 92, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 92, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [205, 206, 207, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 225, 239, 245, 246, 247, 248, 251, 253, 254, 255, 257, 258, 259, 260, 261, 263, 274, 275, 277, 287, 288, 290, 291, 292, 295, 296, 297, 300, 301, 303, 313, 315, 316, 318, 319, 320, 322, 324, 326, 327, 328, 330, 331, 333, 334, 335, 337, 338, 340, 350, 351, 353, 354, 355, 356, 358, 359, 361, 371, 372, 373, 375, 376, 378, 388, 389, 396, 411, 412, 427, 428, 429, 430, 440, 441, 455, 469, 479], "excluded_lines": [], "start_line": 201}, "ErrorSupervisor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [501, 502, 503, 505, 506, 507, 526, 527, 528, 530, 536, 539, 540, 543, 544, 545, 547, 556, 559, 560, 567, 569, 570, 571, 572, 573, 574, 575, 578, 579, 582, 583, 584, 585, 586, 587, 588, 589, 592, 593, 594, 595, 596, 597, 598, 599, 600, 603, 604, 605, 606, 610], "excluded_lines": [], "start_line": 482}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 116, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 116, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 20, 21, 22, 23, 25, 33, 40, 43, 46, 47, 48, 49, 50, 51, 54, 55, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 75, 76, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 98, 99, 103, 104, 109, 112, 116, 128, 136, 140, 144, 149, 152, 156, 160, 196, 201, 204, 209, 223, 227, 265, 279, 305, 342, 363, 380, 403, 419, 432, 447, 461, 471, 482, 495, 509, 608, 614, 627, 628, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 641, 642, 643, 645, 647, 648, 649, 650, 651, 652, 655, 656, 658, 659, 661, 663, 667, 670, 673, 674, 675, 678, 694], "excluded_lines": [618], "start_line": 1}}}, "src/services/experiment_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [5, 6, 7, 8, 9, 12, 15, 16, 18, 20, 22, 26, 28, 37, 38, 39, 42, 43, 44, 47, 48, 52, 54, 58, 59, 60, 61, 62, 64, 76], "excluded_lines": [], "functions": {"ExperimentService.__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": [16], "excluded_lines": [], "start_line": 15}, "ExperimentService.get_active_experiments": {"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}, "ExperimentService.get_experiment_variants": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26], "excluded_lines": [], "start_line": 22}, "ExperimentService.allocate_variant": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37, 38, 39, 42, 43, 44, 47, 48, 52], "excluded_lines": [], "start_line": 28}, "ExperimentService.get_control_variant": {"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": [58, 59, 60, 61, 62], "excluded_lines": [], "start_line": 54}, "ExperimentService.record_experiment_result": {"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": [76], "excluded_lines": [], "start_line": 64}, "": {"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": [5, 6, 7, 8, 9, 12, 15, 18, 22, 28, 54, 64], "excluded_lines": [], "start_line": 1}}, "classes": {"ExperimentService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [16, 20, 26, 37, 38, 39, 42, 43, 44, 47, 48, 52, 58, 59, 60, 61, 62, 76], "excluded_lines": [], "start_line": 12}, "": {"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": [5, 6, 7, 8, 9, 12, 15, 18, 22, 28, 54, 64], "excluded_lines": [], "start_line": 1}}}, "src/services/feature_flags.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 207, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 207, "excluded_lines": 3, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 14, 15, 17, 20, 23, 24, 25, 28, 42, 52, 53, 54, 55, 56, 57, 58, 60, 62, 74, 75, 77, 78, 79, 80, 90, 91, 94, 108, 115, 116, 117, 120, 121, 122, 124, 127, 129, 130, 131, 133, 134, 140, 142, 144, 145, 146, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 160, 167, 168, 170, 172, 173, 175, 200, 201, 203, 212, 213, 214, 216, 226, 227, 228, 229, 230, 232, 242, 244, 259, 261, 262, 263, 265, 266, 268, 269, 270, 271, 272, 273, 275, 276, 277, 279, 281, 292, 294, 295, 297, 298, 301, 304, 305, 306, 307, 308, 311, 313, 323, 324, 325, 326, 327, 328, 329, 331, 341, 342, 343, 344, 345, 346, 347, 349, 360, 361, 362, 363, 364, 365, 366, 368, 375, 377, 384, 386, 393, 395, 402, 404, 414, 415, 416, 417, 419, 420, 421, 422, 423, 424, 425, 426, 430, 433, 443, 444, 445, 448, 456, 459, 470, 473, 488, 489, 490, 491, 492, 494, 495, 497, 499, 502, 515, 516, 517, 518, 519, 520, 522, 524, 527, 530, 534, 538, 539, 540, 541, 542, 543, 546, 547, 548, 552, 598, 610, 611, 613, 614, 615, 616, 617, 625], "excluded_lines": [95, 474, 503], "functions": {"FeatureFlag.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [52, 53, 54, 55, 56, 57, 58], "excluded_lines": [], "start_line": 42}, "FeatureFlag.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": [62], "excluded_lines": [], "start_line": 60}, "FeatureFlag.from_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [77, 78, 79, 80], "excluded_lines": [], "start_line": 75}, "FeatureFlag.__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": [91], "excluded_lines": [], "start_line": 90}, "FeatureFlagManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [115, 116, 117, 120, 121, 122], "excluded_lines": [], "start_line": 108}, "FeatureFlagManager._load_from_env": {"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": [127, 129, 130, 131, 133, 134, 140], "excluded_lines": [], "start_line": 124}, "FeatureFlagManager._load_from_file": {"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": [144, 145, 146, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158], "excluded_lines": [], "start_line": 142}, "FeatureFlagManager._compute_percentage_hash": {"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": [167, 168, 170, 172, 173], "excluded_lines": [], "start_line": 160}, "FeatureFlagManager.register_flag": {"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": [200, 201, 203, 212, 213, 214], "excluded_lines": [], "start_line": 175}, "FeatureFlagManager.unregister_flag": {"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": [226, 227, 228, 229, 230], "excluded_lines": [], "start_line": 216}, "FeatureFlagManager.get_flag": {"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": [242], "excluded_lines": [], "start_line": 232}, "FeatureFlagManager.is_enabled": {"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": [259, 261, 262, 263, 265, 266, 268, 269, 270, 271, 272, 273, 275, 276, 277, 279], "excluded_lines": [], "start_line": 244}, "FeatureFlagManager.get_variant": {"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": [292, 294, 295, 297, 298, 301, 304, 305, 306, 307, 308, 311], "excluded_lines": [], "start_line": 281}, "FeatureFlagManager.enable": {"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": [323, 324, 325, 326, 327, 328, 329], "excluded_lines": [], "start_line": 313}, "FeatureFlagManager.disable": {"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": [341, 342, 343, 344, 345, 346, 347], "excluded_lines": [], "start_line": 331}, "FeatureFlagManager.set_percentage": {"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": [360, 361, 362, 363, 364, 365, 366], "excluded_lines": [], "start_line": 349}, "FeatureFlagManager.set_user_context": {"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": [375], "excluded_lines": [], "start_line": 368}, "FeatureFlagManager.list_flags": {"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": [384], "excluded_lines": [], "start_line": 377}, "FeatureFlagManager.get_all_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [393], "excluded_lines": [], "start_line": 386}, "FeatureFlagManager.export_config": {"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": [402], "excluded_lines": [], "start_line": 395}, "FeatureFlagManager.save_config": {"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": [414, 415, 416, 417, 419, 420, 421, 422, 423, 424, 425, 426], "excluded_lines": [], "start_line": 404}, "get_feature_flag_manager": {"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": [443, 444, 445], "excluded_lines": [], "start_line": 433}, "set_feature_flag_manager": {"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": [456], "excluded_lines": [], "start_line": 448}, "is_feature_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [470], "excluded_lines": [], "start_line": 459}, "feature_flag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [488, 489, 499], "excluded_lines": [474], "start_line": 473}, "feature_flag.decorator": {"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": [490, 497], "excluded_lines": [], "start_line": 488}, "feature_flag.decorator.wrapper": {"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": [491, 492, 494, 495], "excluded_lines": [], "start_line": 490}, "require_feature": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [515, 516, 524], "excluded_lines": [503], "start_line": 502}, "require_feature.decorator": {"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": [517, 522], "excluded_lines": [], "start_line": 515}, "require_feature.decorator.wrapper": {"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": [518, 519, 520], "excluded_lines": [], "start_line": 517}, "initialize_default_flags": {"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": [610, 611, 613, 614, 615, 616, 617, 625], "excluded_lines": [], "start_line": 598}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 56, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 56, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 14, 15, 17, 20, 23, 24, 25, 28, 42, 60, 74, 75, 90, 94, 108, 124, 142, 160, 175, 216, 232, 244, 281, 313, 331, 349, 368, 377, 386, 395, 404, 430, 433, 448, 459, 473, 502, 527, 530, 534, 538, 539, 540, 541, 542, 543, 546, 547, 548, 552, 598], "excluded_lines": [95], "start_line": 1}}, "classes": {"FeatureFlagType": {"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": 20}, "FeatureFlag": {"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": [52, 53, 54, 55, 56, 57, 58, 62, 77, 78, 79, 80, 91], "excluded_lines": [], "start_line": 28}, "FeatureFlagManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 108, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 108, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [115, 116, 117, 120, 121, 122, 127, 129, 130, 131, 133, 134, 140, 144, 145, 146, 148, 149, 150, 151, 152, 153, 155, 156, 157, 158, 167, 168, 170, 172, 173, 200, 201, 203, 212, 213, 214, 226, 227, 228, 229, 230, 242, 259, 261, 262, 263, 265, 266, 268, 269, 270, 271, 272, 273, 275, 276, 277, 279, 292, 294, 295, 297, 298, 301, 304, 305, 306, 307, 308, 311, 323, 324, 325, 326, 327, 328, 329, 341, 342, 343, 344, 345, 346, 347, 360, 361, 362, 363, 364, 365, 366, 375, 384, 393, 402, 414, 415, 416, 417, 419, 420, 421, 422, 423, 424, 425, 426], "excluded_lines": [], "start_line": 94}, "FeatureFlagNotEnabledError": {"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": 527}, "FeatureFlags": {"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": 534}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 86, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 86, "excluded_lines": 3, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 14, 15, 17, 20, 23, 24, 25, 28, 42, 60, 74, 75, 90, 94, 108, 124, 142, 160, 175, 216, 232, 244, 281, 313, 331, 349, 368, 377, 386, 395, 404, 430, 433, 443, 444, 445, 448, 456, 459, 470, 473, 488, 489, 490, 491, 492, 494, 495, 497, 499, 502, 515, 516, 517, 518, 519, 520, 522, 524, 527, 530, 534, 538, 539, 540, 541, 542, 543, 546, 547, 548, 552, 598, 610, 611, 613, 614, 615, 616, 617, 625], "excluded_lines": [95, 474, 503], "start_line": 1}}}, "src/services/feedback_analytics.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 123, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 123, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 12, 15, 16, 19, 20, 21, 22, 23, 24, 27, 30, 31, 32, 33, 35, 37, 38, 40, 42, 43, 45, 47, 48, 50, 61, 62, 63, 64, 65, 66, 67, 69, 70, 77, 78, 79, 81, 94, 100, 102, 103, 104, 105, 106, 108, 110, 116, 117, 118, 119, 120, 122, 123, 125, 126, 127, 128, 129, 131, 139, 145, 146, 147, 148, 149, 151, 152, 154, 155, 156, 157, 158, 161, 167, 181, 193, 194, 196, 197, 198, 199, 201, 202, 205, 206, 207, 208, 211, 212, 213, 214, 215, 217, 220, 225, 230, 236, 242, 245, 246, 247, 248, 251, 252, 255, 256, 258, 260, 270, 272, 273, 274, 275, 277, 292, 295, 298, 299, 300], "excluded_lines": [], "functions": {"FeedbackAnalyticsService.__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": [31, 32, 33], "excluded_lines": [], "start_line": 30}, "FeedbackAnalyticsService.add_feedback": {"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": [37, 38], "excluded_lines": [], "start_line": 35}, "FeedbackAnalyticsService.add_bug_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [42, 43], "excluded_lines": [], "start_line": 40}, "FeedbackAnalyticsService.add_feature_request": {"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": [47, 48], "excluded_lines": [], "start_line": 45}, "FeedbackAnalyticsService.get_satisfaction_score": {"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": [61, 62, 63, 64, 65, 66, 67, 69, 70, 77, 78, 79, 81], "excluded_lines": [], "start_line": 50}, "FeedbackAnalyticsService.get_feedback_by_type": {"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": [100, 102, 103, 104, 105, 106, 108], "excluded_lines": [], "start_line": 94}, "FeedbackAnalyticsService.get_bug_summary": {"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": [116, 117, 118, 119, 120, 122, 123, 125, 126, 127, 128, 129, 131], "excluded_lines": [], "start_line": 110}, "FeedbackAnalyticsService.get_feature_request_summary": {"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": [145, 146, 147, 148, 149, 151, 152, 154, 155, 156, 157, 158, 161, 167], "excluded_lines": [], "start_line": 139}, "FeedbackAnalyticsService.get_conversion_feedback_correlation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [193, 194, 196, 197, 198, 199, 201, 202, 205, 206, 207, 208, 211, 212, 213, 214, 215, 217, 220, 225, 230], "excluded_lines": [], "start_line": 181}, "FeedbackAnalyticsService._generate_insights": {"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": [242, 245, 246, 247, 248, 251, 252, 255, 256, 258], "excluded_lines": [], "start_line": 236}, "FeedbackAnalyticsService.get_weekly_report": {"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": [270, 272, 273, 274, 275, 277], "excluded_lines": [], "start_line": 260}, "get_feedback_analytics": {"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": [298, 299, 300], "excluded_lines": [], "start_line": 295}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 12, 15, 16, 19, 20, 21, 22, 23, 24, 27, 30, 35, 40, 45, 50, 94, 110, 139, 181, 236, 260, 292, 295], "excluded_lines": [], "start_line": 1}}, "classes": {"FeedbackMetrics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16}, "FeedbackAnalyticsService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31, 32, 33, 37, 38, 42, 43, 47, 48, 61, 62, 63, 64, 65, 66, 67, 69, 70, 77, 78, 79, 81, 100, 102, 103, 104, 105, 106, 108, 116, 117, 118, 119, 120, 122, 123, 125, 126, 127, 128, 129, 131, 145, 146, 147, 148, 149, 151, 152, 154, 155, 156, 157, 158, 161, 167, 193, 194, 196, 197, 198, 199, 201, 202, 205, 206, 207, 208, 211, 212, 213, 214, 215, 217, 220, 225, 230, 242, 245, 246, 247, 248, 251, 252, 255, 256, 258, 270, 272, 273, 274, 275, 277], "excluded_lines": [], "start_line": 27}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 12, 15, 16, 19, 20, 21, 22, 23, 24, 27, 30, 35, 40, 45, 50, 94, 110, 139, 181, 236, 260, 292, 295, 298, 299, 300], "excluded_lines": [], "start_line": 1}}}, "src/services/file_handler.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 188, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 188, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 22, 25, 26, 27, 28, 31, 32, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 49, 50, 51, 54, 55, 58, 59, 60, 61, 62, 65, 77, 80, 83, 84, 85, 87, 88, 90, 107, 110, 116, 118, 119, 120, 125, 132, 139, 141, 148, 149, 151, 158, 159, 160, 162, 168, 170, 174, 175, 176, 181, 183, 193, 194, 197, 198, 199, 202, 203, 204, 207, 208, 210, 211, 212, 215, 216, 217, 219, 220, 221, 222, 223, 224, 226, 228, 237, 239, 240, 241, 244, 245, 246, 247, 248, 249, 250, 251, 252, 254, 255, 256, 257, 260, 261, 262, 264, 265, 266, 269, 270, 271, 272, 273, 274, 276, 277, 279, 281, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 295, 296, 297, 298, 299, 300, 301, 302, 304, 306, 308, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 326, 328, 338, 339, 340, 343, 344, 346, 347, 349, 350, 353, 354, 356, 357, 358, 359, 361, 362, 364, 366, 381, 382, 384, 386, 390, 392], "excluded_lines": [], "functions": {"FileHandler.__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": [88], "excluded_lines": [], "start_line": 87}, "FileHandler.process_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [107, 110, 116, 118, 119, 120, 125, 132, 139, 141, 148, 149, 151, 158, 159, 160, 162, 168, 170, 174, 175, 176, 181], "excluded_lines": [], "start_line": 90}, "FileHandler.validate_jar": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [193, 194, 197, 198, 199, 202, 203, 204, 207, 208, 210, 211, 212, 215, 216, 217, 219, 220, 221, 222, 223, 224, 226], "excluded_lines": [], "start_line": 183}, "FileHandler.extract_metadata": {"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": [237, 239, 240, 241, 244, 245, 246, 247, 248, 249, 250, 251, 252, 254, 255, 256, 257, 260, 261, 262, 264, 265, 266, 269, 270, 271, 272, 273, 274, 276, 277, 279], "excluded_lines": [], "start_line": 228}, "FileHandler._parse_forge_mods_toml": {"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": [283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 295, 296, 297, 298, 299, 300, 301, 302, 304], "excluded_lines": [], "start_line": 281}, "FileHandler._parse_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [308, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 326], "excluded_lines": [], "start_line": 306}, "FileHandler.identify_mod_loader": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [338, 339, 340, 343, 344, 346, 347, 349, 350, 353, 354, 356, 357, 358, 359, 361, 362, 364], "excluded_lines": [], "start_line": 328}, "FileHandler.virus_scan_placeholder": {"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": [381, 382], "excluded_lines": [], "start_line": 366}, "FileHandler.get_upload_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [386], "excluded_lines": [], "start_line": 384}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 22, 25, 26, 27, 28, 31, 32, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 49, 50, 51, 54, 55, 58, 59, 60, 61, 62, 65, 77, 80, 83, 84, 85, 87, 90, 183, 228, 281, 306, 328, 366, 384, 390, 392], "excluded_lines": [], "start_line": 1}}, "classes": {"ModLoader": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "ModMetadata": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "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": 46}, "ProcessingResult": {"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": 55}, "FileHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 136, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 136, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [88, 107, 110, 116, 118, 119, 120, 125, 132, 139, 141, 148, 149, 151, 158, 159, 160, 162, 168, 170, 174, 175, 176, 181, 193, 194, 197, 198, 199, 202, 203, 204, 207, 208, 210, 211, 212, 215, 216, 217, 219, 220, 221, 222, 223, 224, 226, 237, 239, 240, 241, 244, 245, 246, 247, 248, 249, 250, 251, 252, 254, 255, 256, 257, 260, 261, 262, 264, 265, 266, 269, 270, 271, 272, 273, 274, 276, 277, 279, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 295, 296, 297, 298, 299, 300, 301, 302, 304, 308, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 326, 338, 339, 340, 343, 344, 346, 347, 349, 350, 353, 354, 356, 357, 358, 359, 361, 362, 364, 381, 382, 386], "excluded_lines": [], "start_line": 65}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 22, 25, 26, 27, 28, 31, 32, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 49, 50, 51, 54, 55, 58, 59, 60, 61, 62, 65, 77, 80, 83, 84, 85, 87, 90, 183, 228, 281, 306, 328, 366, 384, 390, 392], "excluded_lines": [], "start_line": 1}}}, "src/services/java_parser.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 256, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 256, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 11, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 28, 31, 36, 37, 38, 39, 42, 44, 45, 46, 47, 48, 49, 51, 61, 62, 63, 65, 66, 69, 70, 71, 73, 74, 75, 76, 78, 80, 81, 82, 83, 84, 85, 87, 97, 98, 100, 101, 102, 103, 104, 106, 108, 118, 119, 122, 123, 125, 127, 129, 130, 131, 132, 133, 134, 136, 138, 139, 141, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 162, 163, 165, 168, 174, 181, 182, 183, 184, 185, 187, 194, 195, 196, 197, 198, 200, 208, 210, 211, 213, 214, 215, 216, 217, 228, 230, 231, 232, 239, 242, 244, 247, 249, 252, 254, 256, 264, 274, 276, 286, 289, 294, 295, 297, 308, 310, 311, 317, 326, 328, 330, 331, 333, 334, 335, 337, 340, 341, 343, 344, 345, 346, 348, 349, 350, 353, 354, 357, 358, 359, 360, 361, 363, 364, 366, 368, 376, 377, 378, 379, 380, 386, 388, 389, 390, 391, 392, 394, 400, 402, 404, 411, 413, 415, 416, 417, 419, 422, 423, 424, 425, 428, 429, 430, 431, 433, 434, 436, 437, 439, 441, 443, 444, 445, 446, 447, 448, 450, 451, 453, 455, 457, 458, 459, 461, 463, 464, 465, 466, 467, 468, 469, 471, 472, 474, 475, 477, 479, 486, 488, 489, 490, 491, 498, 499, 506, 507, 514, 524, 531, 538, 540, 542, 543, 546, 547, 550, 551, 552, 554, 557, 568, 569, 572, 583, 584, 586, 587, 590, 591, 593], "excluded_lines": [], "functions": {"TreeSitterJavaParser.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37, 38, 39, 42, 44, 45, 46, 47, 48, 49], "excluded_lines": [], "start_line": 36}, "TreeSitterJavaParser.parse": {"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": [61, 62, 63, 65, 66, 69, 70, 71, 73, 74, 75, 76], "excluded_lines": [], "start_line": 51}, "TreeSitterJavaParser._count_error_nodes": {"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": [80, 81, 82, 83, 84, 85], "excluded_lines": [], "start_line": 78}, "TreeSitterJavaParser.has_syntax_errors": {"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": [97, 98, 100, 101, 102, 103, 104], "excluded_lines": [], "start_line": 87}, "TreeSitterJavaParser._tree_to_dict": {"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": [108, 118, 119, 122, 123, 125], "excluded_lines": [], "start_line": 106}, "TreeSitterJavaParser._parse_with_javalang": {"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": [129, 130, 131, 132, 133, 134], "excluded_lines": [], "start_line": 127}, "TreeSitterJavaParser._javalang_to_dict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [138, 139, 141, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 162, 163, 165], "excluded_lines": [], "start_line": 136}, "SemanticAnalyzer.__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": [181, 182, 183, 184, 185], "excluded_lines": [], "start_line": 174}, "SemanticAnalyzer.analyze": {"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": [194, 195, 196, 197, 198, 200], "excluded_lines": [], "start_line": 187}, "SemanticAnalyzer._build_symbol_table": {"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": [210, 211, 213, 214, 215, 216, 217], "excluded_lines": [], "start_line": 208}, "SemanticAnalyzer._resolve_types": {"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": [230, 231, 232], "excluded_lines": [], "start_line": 228}, "SemanticAnalyzer._extract_method_calls": {"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": [242], "excluded_lines": [], "start_line": 239}, "SemanticAnalyzer._extract_field_accesses": {"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": [247], "excluded_lines": [], "start_line": 244}, "SemanticAnalyzer._build_inheritance_graph": {"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": [252], "excluded_lines": [], "start_line": 249}, "SemanticAnalyzer._get_inheritance_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [256], "excluded_lines": [], "start_line": 254}, "SemanticAnalyzer.get_type_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [274], "excluded_lines": [], "start_line": 264}, "SemanticAnalyzer.get_symbol_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [286], "excluded_lines": [], "start_line": 276}, "JavaASTAnalyzer.__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": [295], "excluded_lines": [], "start_line": 294}, "JavaASTAnalyzer.analyze_file": {"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": [308, 310, 311, 317, 326], "excluded_lines": [], "start_line": 297}, "JavaASTAnalyzer._extract_classes": {"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": [330, 331, 333, 363, 364], "excluded_lines": [], "start_line": 328}, "JavaASTAnalyzer._extract_classes.traverse": {"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": [334, 335, 337, 340, 341, 343, 344, 345, 346, 348, 349, 350, 353, 354, 357, 358, 359, 360, 361], "excluded_lines": [], "start_line": 333}, "JavaASTAnalyzer._extract_class_info": {"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": [368, 376, 377, 378, 379, 380, 386, 388, 389, 390, 391, 392, 394, 400], "excluded_lines": [], "start_line": 366}, "JavaASTAnalyzer._extract_class_info_javalang": {"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": [404], "excluded_lines": [], "start_line": 402}, "JavaASTAnalyzer._extract_imports": {"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": [413, 415, 436, 437], "excluded_lines": [], "start_line": 411}, "JavaASTAnalyzer._extract_imports.traverse": {"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": [416, 417, 419, 422, 423, 424, 425, 428, 429, 430, 431, 433, 434], "excluded_lines": [], "start_line": 415}, "JavaASTAnalyzer._get_scoped_identifier_text": {"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": [441, 443, 450, 451], "excluded_lines": [], "start_line": 439}, "JavaASTAnalyzer._get_scoped_identifier_text.collect_parts": {"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": [444, 445, 446, 447, 448], "excluded_lines": [], "start_line": 443}, "JavaASTAnalyzer._extract_annotations": {"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": [455, 457, 474, 475], "excluded_lines": [], "start_line": 453}, "JavaASTAnalyzer._extract_annotations.traverse": {"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": [458, 459, 461, 463, 464, 465, 466, 467, 468, 469, 471, 472], "excluded_lines": [], "start_line": 457}, "JavaASTAnalyzer._identify_components": {"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": [479, 486, 488, 489, 490, 491, 498, 499, 506, 507, 514, 524, 531, 538], "excluded_lines": [], "start_line": 477}, "JavaASTAnalyzer._is_subclass_of": {"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": [542, 543, 546, 547, 550, 551, 552, 554], "excluded_lines": [], "start_line": 540}, "analyze_java_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [568, 569], "excluded_lines": [], "start_line": 557}, "perform_semantic_analysis": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [583, 584, 586, 587, 590, 591, 593], "excluded_lines": [], "start_line": 572}, "": {"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": [8, 9, 11, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 28, 31, 36, 51, 78, 87, 106, 127, 136, 168, 174, 187, 208, 228, 239, 244, 249, 254, 264, 276, 289, 294, 297, 328, 366, 402, 411, 439, 453, 477, 540, 557, 572], "excluded_lines": [], "start_line": 1}}, "classes": {"TreeSitterJavaParser": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 64, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 64, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [37, 38, 39, 42, 44, 45, 46, 47, 48, 49, 61, 62, 63, 65, 66, 69, 70, 71, 73, 74, 75, 76, 80, 81, 82, 83, 84, 85, 97, 98, 100, 101, 102, 103, 104, 108, 118, 119, 122, 123, 125, 129, 130, 131, 132, 133, 134, 138, 139, 141, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 162, 163, 165], "excluded_lines": [], "start_line": 31}, "SemanticAnalyzer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [181, 182, 183, 184, 185, 194, 195, 196, 197, 198, 200, 210, 211, 213, 214, 215, 216, 217, 230, 231, 232, 242, 247, 252, 256, 274, 286], "excluded_lines": [], "start_line": 168}, "JavaASTAnalyzer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 109, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 109, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [295, 308, 310, 311, 317, 326, 330, 331, 333, 334, 335, 337, 340, 341, 343, 344, 345, 346, 348, 349, 350, 353, 354, 357, 358, 359, 360, 361, 363, 364, 368, 376, 377, 378, 379, 380, 386, 388, 389, 390, 391, 392, 394, 400, 404, 413, 415, 416, 417, 419, 422, 423, 424, 425, 428, 429, 430, 431, 433, 434, 436, 437, 441, 443, 444, 445, 446, 447, 448, 450, 451, 455, 457, 458, 459, 461, 463, 464, 465, 466, 467, 468, 469, 471, 472, 474, 475, 479, 486, 488, 489, 490, 491, 498, 499, 506, 507, 514, 524, 531, 538, 542, 543, 546, 547, 550, 551, 552, 554], "excluded_lines": [], "start_line": 289}, "": {"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": [8, 9, 11, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 28, 31, 36, 51, 78, 87, 106, 127, 136, 168, 174, 187, 208, 228, 239, 244, 249, 254, 264, 276, 289, 294, 297, 328, 366, 402, 411, 439, 453, 477, 540, 557, 568, 569, 572, 583, 584, 586, 587, 590, 591, 593], "excluded_lines": [], "start_line": 1}}}, "src/services/job_manager.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 180, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 180, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 25, 28, 29, 30, 31, 32, 35, 38, 39, 40, 43, 46, 47, 48, 51, 54, 55, 58, 59, 62, 63, 64, 65, 66, 68, 69, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 100, 101, 102, 105, 126, 127, 128, 130, 131, 132, 133, 135, 137, 138, 139, 141, 143, 144, 145, 147, 166, 167, 169, 178, 179, 181, 189, 190, 194, 197, 198, 206, 208, 209, 211, 221, 222, 224, 225, 226, 228, 229, 231, 233, 250, 251, 254, 260, 261, 262, 263, 264, 266, 268, 285, 286, 287, 289, 290, 291, 292, 294, 295, 297, 304, 319, 320, 321, 323, 324, 325, 326, 327, 328, 330, 331, 333, 341, 342, 344, 346, 361, 362, 363, 365, 366, 367, 368, 369, 371, 372, 374, 382, 383, 385, 387, 397, 398, 399, 401, 402, 404, 405, 406, 407, 409, 410, 412, 419, 426, 428, 429, 430, 432, 440, 441, 442, 443, 444, 445, 449, 452, 455, 456, 457, 460], "excluded_lines": [], "functions": {"JobOptions.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": [69], "excluded_lines": [], "start_line": 68}, "Job.to_dict": {"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": [97, 98], "excluded_lines": [], "start_line": 96}, "Job.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": [102], "excluded_lines": [], "start_line": 101}, "JobManager.__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": [131, 132, 133], "excluded_lines": [], "start_line": 130}, "JobManager._get_redis": {"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": [137, 138, 139], "excluded_lines": [], "start_line": 135}, "JobManager._get_queue": {"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": [143, 144, 145], "excluded_lines": [], "start_line": 141}, "JobManager.create_job": {"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": [166, 167, 169, 178, 179, 181, 189, 190, 194, 197, 198, 206, 208, 209], "excluded_lines": [], "start_line": 147}, "JobManager.get_job": {"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": [221, 222, 224, 225, 226, 228, 229, 231], "excluded_lines": [], "start_line": 211}, "JobManager.list_jobs": {"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": [250, 251, 254, 260, 261, 262, 263, 264, 266], "excluded_lines": [], "start_line": 233}, "JobManager.update_progress": {"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": [285, 286, 287, 289, 290, 291, 292, 294, 295, 297], "excluded_lines": [], "start_line": 268}, "JobManager.complete_job": {"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": [319, 320, 321, 323, 324, 325, 326, 327, 328, 330, 331, 333, 341, 342, 344], "excluded_lines": [], "start_line": 304}, "JobManager.fail_job": {"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": [361, 362, 363, 365, 366, 367, 368, 369, 371, 372, 374, 382, 383, 385], "excluded_lines": [], "start_line": 346}, "JobManager.cancel_job": {"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": [397, 398, 399, 401, 402, 404, 405, 406, 407, 409, 410, 412], "excluded_lines": [], "start_line": 387}, "JobManager._send_webhook": {"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": [426, 428, 429, 430, 432, 440, 441, 442, 443, 444, 445], "excluded_lines": [], "start_line": 419}, "get_job_manager": {"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": [455, 456, 457], "excluded_lines": [], "start_line": 452}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 71, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 71, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 25, 28, 29, 30, 31, 32, 35, 38, 39, 40, 43, 46, 47, 48, 51, 54, 55, 58, 59, 62, 63, 64, 65, 66, 68, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 100, 101, 105, 126, 127, 128, 130, 135, 141, 147, 211, 233, 268, 304, 346, 387, 419, 449, 452, 460], "excluded_lines": [], "start_line": 1}}, "classes": {"JobStatus": {"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": 25}, "ConversionMode": {"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": 35}, "TargetVersion": {"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": 43}, "OutputFormat": {"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": 51}, "JobOptions": {"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": 59}, "Job": {"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": [97, 98, 102], "excluded_lines": [], "start_line": 79}, "JobManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 102, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 102, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [131, 132, 133, 137, 138, 139, 143, 144, 145, 166, 167, 169, 178, 179, 181, 189, 190, 194, 197, 198, 206, 208, 209, 221, 222, 224, 225, 226, 228, 229, 231, 250, 251, 254, 260, 261, 262, 263, 264, 266, 285, 286, 287, 289, 290, 291, 292, 294, 295, 297, 319, 320, 321, 323, 324, 325, 326, 327, 328, 330, 331, 333, 341, 342, 344, 361, 362, 363, 365, 366, 367, 368, 369, 371, 372, 374, 382, 383, 385, 397, 398, 399, 401, 402, 404, 405, 406, 407, 409, 410, 412, 426, 428, 429, 430, 432, 440, 441, 442, 443, 444, 445], "excluded_lines": [], "start_line": 105}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 15, 16, 17, 19, 20, 22, 25, 28, 29, 30, 31, 32, 35, 38, 39, 40, 43, 46, 47, 48, 51, 54, 55, 58, 59, 62, 63, 64, 65, 66, 68, 78, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 100, 101, 105, 126, 127, 128, 130, 135, 141, 147, 211, 233, 268, 304, 346, 387, 419, 449, 452, 455, 456, 457, 460], "excluded_lines": [], "start_line": 1}}}, "src/services/logging_middleware.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": [8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 32, 40, 41, 50, 54, 55, 58, 61, 64, 67, 76, 82, 84, 87, 90, 98, 99, 101, 103, 105, 107, 116, 120, 122, 124, 127, 135, 136, 138, 142, 143, 144, 147, 149, 157, 158, 159, 161, 163], "excluded_lines": [], "functions": {"LoggingMiddleware.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41], "excluded_lines": [], "start_line": 32}, "LoggingMiddleware.dispatch": {"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": [54, 55, 58, 61, 64, 67, 76, 82, 84, 87, 90, 98, 99, 101, 103, 105, 107, 116, 120], "excluded_lines": [], "start_line": 50}, "LoggingMiddleware._should_exclude": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [124], "excluded_lines": [], "start_line": 122}, "RequestContextMiddleware.__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": [136], "excluded_lines": [], "start_line": 135}, "RequestContextMiddleware.dispatch": {"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": [142, 143, 144, 147, 149, 157, 158, 159, 161, 163], "excluded_lines": [], "start_line": 138}, "": {"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": [8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 32, 50, 122, 127, 135, 138], "excluded_lines": [], "start_line": 1}}, "classes": {"LoggingMiddleware": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [40, 41, 54, 55, 58, 61, 64, 67, 76, 82, 84, 87, 90, 98, 99, 101, 103, 105, 107, 116, 120, 124], "excluded_lines": [], "start_line": 21}, "RequestContextMiddleware": {"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": [136, 142, 143, 144, 147, 149, 157, 158, 159, 161, 163], "excluded_lines": [], "start_line": 127}, "": {"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": [8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 32, 50, 122, 127, 135, 138], "excluded_lines": [], "start_line": 1}}}, "src/services/metrics.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 157, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 157, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 15, 16, 17, 18, 21, 28, 36, 49, 57, 66, 73, 84, 92, 105, 113, 125, 133, 146, 159, 171, 178, 185, 193, 200, 211, 219, 226, 234, 246, 254, 262, 270, 282, 285, 286, 288, 289, 290, 291, 292, 293, 294, 296, 297, 298, 300, 301, 302, 303, 304, 305, 307, 315, 316, 317, 319, 322, 323, 324, 329, 330, 331, 332, 337, 338, 339, 340, 343, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 362, 363, 365, 367, 368, 369, 384, 392, 394, 395, 398, 412, 416, 417, 420, 423, 425, 427, 428, 431, 433, 434, 435, 438, 440, 442, 443, 446, 448, 451, 453, 456, 458, 461, 463, 466, 475, 478, 486, 489, 497, 502, 510, 513, 522, 523, 528, 537, 540, 547, 550, 552, 560, 563, 564, 566, 567, 568, 569, 572, 573, 576, 579, 581, 583, 584, 585, 587, 590, 593, 596, 598, 601, 604, 610, 611], "excluded_lines": [], "functions": {"MetricsTracker.__new__": {"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": [289, 290, 291, 292, 293, 294], "excluded_lines": [], "start_line": 288}, "MetricsTracker.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [297, 298, 300, 301, 302, 303, 304, 305], "excluded_lines": [], "start_line": 296}, "MetricsTracker.record_conversion": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [315, 316, 317, 319, 322, 323, 324, 329, 330, 331, 332, 337, 338, 339, 340, 343, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 362, 363], "excluded_lines": [], "start_line": 307}, "MetricsTracker.get_stats": {"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": [367, 368, 369], "excluded_lines": [], "start_line": 365}, "record_http_request": {"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": [394, 395], "excluded_lines": [], "start_line": 392}, "record_conversion_job": {"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": [412, 416, 417, 420], "excluded_lines": [], "start_line": 398}, "record_agent_execution": {"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": [425, 427, 428], "excluded_lines": [], "start_line": 423}, "record_llm_usage": {"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": [433, 434, 435], "excluded_lines": [], "start_line": 431}, "record_asset_processed": {"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": [440, 442, 443], "excluded_lines": [], "start_line": 438}, "record_db_operation": {"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": [448], "excluded_lines": [], "start_line": 446}, "record_cache_operation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [453], "excluded_lines": [], "start_line": 451}, "update_queue_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": [458], "excluded_lines": [], "start_line": 456}, "update_active_conversions": {"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": [463], "excluded_lines": [], "start_line": 461}, "record_error": {"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": [475], "excluded_lines": [], "start_line": 466}, "record_retry_attempt": {"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": [486], "excluded_lines": [], "start_line": 478}, "record_successful_retry": {"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": [497], "excluded_lines": [], "start_line": 489}, "record_rate_limit_hit": {"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": [510], "excluded_lines": [], "start_line": 502}, "record_rate_limit_request": {"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": [522, 523], "excluded_lines": [], "start_line": 513}, "update_rate_limit_usage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [537], "excluded_lines": [], "start_line": 528}, "update_active_rate_limit_clients": {"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": [547], "excluded_lines": [], "start_line": 540}, "get_metrics": {"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": [552], "excluded_lines": [], "start_line": 550}, "MetricsMiddleware.__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": [564], "excluded_lines": [], "start_line": 563}, "MetricsMiddleware.__call__": {"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": [567, 568, 569, 572, 573, 576, 579, 581, 587, 590, 593, 596], "excluded_lines": [], "start_line": 566}, "MetricsMiddleware.__call__.send_wrapper": {"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": [583, 584, 585], "excluded_lines": [], "start_line": 581}, "MetricsMiddleware._normalize_endpoint": {"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": [601, 604, 610, 611], "excluded_lines": [], "start_line": 598}, "": {"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": [8, 15, 16, 17, 18, 21, 28, 36, 49, 57, 66, 73, 84, 92, 105, 113, 125, 133, 146, 159, 171, 178, 185, 193, 200, 211, 219, 226, 234, 246, 254, 262, 270, 282, 285, 286, 288, 296, 307, 365, 384, 392, 398, 423, 431, 438, 446, 451, 456, 461, 466, 478, 489, 502, 513, 528, 540, 550, 560, 563, 566, 598], "excluded_lines": [], "start_line": 1}}, "classes": {"MetricsTracker": {"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": [289, 290, 291, 292, 293, 294, 297, 298, 300, 301, 302, 303, 304, 305, 315, 316, 317, 319, 322, 323, 324, 329, 330, 331, 332, 337, 338, 339, 340, 343, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 362, 363, 367, 368, 369], "excluded_lines": [], "start_line": 282}, "MetricsMiddleware": {"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": [564, 567, 568, 569, 572, 573, 576, 579, 581, 583, 584, 585, 587, 590, 593, 596, 601, 604, 610, 611], "excluded_lines": [], "start_line": 560}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 90, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 90, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 15, 16, 17, 18, 21, 28, 36, 49, 57, 66, 73, 84, 92, 105, 113, 125, 133, 146, 159, 171, 178, 185, 193, 200, 211, 219, 226, 234, 246, 254, 262, 270, 282, 285, 286, 288, 296, 307, 365, 384, 392, 394, 395, 398, 412, 416, 417, 420, 423, 425, 427, 428, 431, 433, 434, 435, 438, 440, 442, 443, 446, 448, 451, 453, 456, 458, 461, 463, 466, 475, 478, 486, 489, 497, 502, 510, 513, 522, 523, 528, 537, 540, 547, 550, 552, 560, 563, 566, 598], "excluded_lines": [], "start_line": 1}}}, "src/services/mod_import_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 104, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 10, 11, 14, 17, 18, 19, 22, 25, 26, 27, 29, 39, 40, 42, 44, 45, 46, 47, 49, 51, 61, 63, 64, 65, 66, 68, 70, 95, 103, 104, 105, 112, 113, 114, 115, 118, 119, 120, 128, 129, 130, 131, 134, 135, 136, 137, 138, 144, 145, 146, 152, 153, 155, 156, 158, 160, 175, 177, 178, 179, 180, 182, 183, 184, 185, 186, 188, 189, 191, 193, 212, 213, 214, 215, 216, 217, 218, 220, 221, 223, 225, 242, 243, 244, 245, 247, 248, 250, 252, 265, 267, 268, 269, 270, 271, 273, 274, 275, 276, 277, 279, 283], "excluded_lines": [], "functions": {"ModImportService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27], "excluded_lines": [], "start_line": 25}, "ModImportService.detect_platform": {"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": [39, 40, 42, 44, 45, 46, 47, 49], "excluded_lines": [], "start_line": 29}, "ModImportService.parse_url": {"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": [61, 63, 64, 65, 66, 68], "excluded_lines": [], "start_line": 51}, "ModImportService.search_mods": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [95, 103, 104, 105, 112, 113, 114, 115, 118, 119, 120, 128, 129, 130, 131, 134, 135, 136, 137, 138, 144, 145, 146, 152, 153, 155, 156, 158], "excluded_lines": [], "start_line": 70}, "ModImportService.get_mod_info": {"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": [175, 177, 178, 179, 180, 182, 183, 184, 185, 186, 188, 189, 191], "excluded_lines": [], "start_line": 160}, "ModImportService.get_mod_versions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [212, 213, 214, 215, 216, 217, 218, 220, 221, 223], "excluded_lines": [], "start_line": 193}, "ModImportService.get_download_url": {"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": [242, 243, 244, 245, 247, 248, 250], "excluded_lines": [], "start_line": 225}, "ModImportService.get_categories": {"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": [265, 267, 268, 269, 270, 271, 273, 274, 275, 276, 277, 279], "excluded_lines": [], "start_line": 252}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 10, 11, 14, 17, 18, 19, 22, 25, 29, 51, 70, 160, 193, 225, 252, 283], "excluded_lines": [], "start_line": 1}}, "classes": {"ModPlatform": {"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": 14}, "ModImportService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 86, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 86, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 39, 40, 42, 44, 45, 46, 47, 49, 61, 63, 64, 65, 66, 68, 95, 103, 104, 105, 112, 113, 114, 115, 118, 119, 120, 128, 129, 130, 131, 134, 135, 136, 137, 138, 144, 145, 146, 152, 153, 155, 156, 158, 175, 177, 178, 179, 180, 182, 183, 184, 185, 186, 188, 189, 191, 212, 213, 214, 215, 216, 217, 218, 220, 221, 223, 242, 243, 244, 245, 247, 248, 250, 265, 267, 268, 269, 270, 271, 273, 274, 275, 276, 277, 279], "excluded_lines": [], "start_line": 22}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 10, 11, 14, 17, 18, 19, 22, 25, 29, 51, 70, 160, 193, 225, 252, 283], "excluded_lines": [], "start_line": 1}}}, "src/services/mode_classifier.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 182, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 182, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 13, 14, 15, 16, 17, 19, 34, 37, 44, 45, 82, 92, 94, 95, 96, 97, 100, 101, 102, 103, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, 134, 139, 140, 141, 144, 147, 150, 152, 153, 155, 157, 159, 161, 163, 167, 169, 171, 172, 173, 174, 175, 177, 179, 180, 181, 182, 183, 184, 185, 187, 189, 190, 191, 192, 193, 195, 197, 199, 200, 208, 209, 217, 218, 226, 227, 235, 236, 244, 247, 254, 255, 257, 268, 271, 274, 277, 280, 283, 293, 295, 302, 303, 305, 306, 307, 308, 312, 313, 315, 316, 320, 321, 324, 326, 328, 330, 331, 332, 333, 334, 335, 336, 337, 339, 342, 344, 345, 346, 349, 352, 353, 354, 355, 356, 357, 358, 359, 361, 367, 369, 371, 372, 374, 375, 376, 377, 378, 379, 381, 382, 384, 386, 394, 396, 398, 400, 406, 409, 416, 418, 420, 422, 469, 472, 482, 483, 484, 485, 487, 502, 505, 507, 508, 510, 511, 513, 514, 515, 517, 520, 525, 529, 531, 533, 535, 537, 541, 544, 547, 548, 549], "excluded_lines": [], "functions": {"FeatureExtractionAgent.__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": [45], "excluded_lines": [], "start_line": 44}, "FeatureExtractionAgent.extract_from_jar": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [92, 94, 95, 96, 97, 100, 101, 102, 103, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, 134, 139, 140, 141, 144, 147, 150, 152, 153, 155], "excluded_lines": [], "start_line": 82}, "FeatureExtractionAgent.extract_from_features": {"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": [159], "excluded_lines": [], "start_line": 157}, "FeatureExtractionAgent._count_dependencies": {"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": [163, 167], "excluded_lines": [], "start_line": 161}, "FeatureExtractionAgent._check_pattern": {"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": [171, 172, 173, 174, 175], "excluded_lines": [], "start_line": 169}, "FeatureExtractionAgent._detect_mod_loader": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [179, 180, 181, 182, 183, 184, 185], "excluded_lines": [], "start_line": 177}, "FeatureExtractionAgent._extract_version": {"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": [189, 190, 191, 192, 193], "excluded_lines": [], "start_line": 187}, "FeatureExtractionAgent._build_complex_features": {"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": [197, 199, 200, 208, 209, 217, 218, 226, 227, 235, 236, 244], "excluded_lines": [], "start_line": 195}, "ClassifierAgent.__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": [255], "excluded_lines": [], "start_line": 254}, "ClassifierAgent.classify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [268, 271, 274, 277, 280, 283, 293], "excluded_lines": [], "start_line": 257}, "ClassifierAgent._apply_rules": {"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": [302, 303, 305, 306, 307, 308, 312, 313, 315, 316, 320, 321, 324, 326], "excluded_lines": [], "start_line": 295}, "ClassifierAgent._rule_matches": {"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": [330, 331, 332, 333, 334, 335, 336, 337], "excluded_lines": [], "start_line": 328}, "ClassifierAgent._calculate_alternatives": {"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": [342, 344, 345, 346, 349, 352, 353, 354, 355, 356, 357, 358, 359, 361, 367], "excluded_lines": [], "start_line": 339}, "ClassifierAgent._calculate_convertible_percentage": {"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": [371, 372, 374, 375, 376, 377, 378, 379, 381, 382], "excluded_lines": [], "start_line": 369}, "ClassifierAgent._estimate_time": {"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": [386, 394, 396], "excluded_lines": [], "start_line": 384}, "ClassifierAgent._get_automation_level": {"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": [400, 406], "excluded_lines": [], "start_line": 398}, "RouterAgent.get_pipeline_config": {"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": [418], "excluded_lines": [], "start_line": 416}, "RouterAgent.get_recommended_settings": {"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": [422, 469], "excluded_lines": [], "start_line": 420}, "ModeClassifier.__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": [483, 484, 485], "excluded_lines": [], "start_line": 482}, "ModeClassifier.classify": {"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": [502, 505, 507, 508, 510, 511, 513, 514, 515, 517, 520, 525, 529], "excluded_lines": [], "start_line": 487}, "ModeClassifier.get_pipeline_config": {"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": [533], "excluded_lines": [], "start_line": 531}, "ModeClassifier.get_recommended_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": [537], "excluded_lines": [], "start_line": 535}, "get_mode_classifier": {"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": [547, 548, 549], "excluded_lines": [], "start_line": 544}, "": {"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": [12, 13, 14, 15, 16, 17, 19, 34, 37, 44, 82, 157, 161, 169, 177, 187, 195, 247, 254, 257, 295, 328, 339, 369, 384, 398, 409, 416, 420, 472, 482, 487, 531, 535, 541, 544], "excluded_lines": [], "start_line": 1}}, "classes": {"FeatureExtractionAgent": {"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": [45, 92, 94, 95, 96, 97, 100, 101, 102, 103, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, 134, 139, 140, 141, 144, 147, 150, 152, 153, 155, 159, 163, 167, 171, 172, 173, 174, 175, 179, 180, 181, 182, 183, 184, 185, 189, 190, 191, 192, 193, 197, 199, 200, 208, 209, 217, 218, 226, 227, 235, 236, 244], "excluded_lines": [], "start_line": 37}, "ClassifierAgent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [255, 268, 271, 274, 277, 280, 283, 293, 302, 303, 305, 306, 307, 308, 312, 313, 315, 316, 320, 321, 324, 326, 330, 331, 332, 333, 334, 335, 336, 337, 342, 344, 345, 346, 349, 352, 353, 354, 355, 356, 357, 358, 359, 361, 367, 371, 372, 374, 375, 376, 377, 378, 379, 381, 382, 386, 394, 396, 400, 406], "excluded_lines": [], "start_line": 247}, "RouterAgent": {"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": [418, 422, 469], "excluded_lines": [], "start_line": 409}, "ModeClassifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [483, 484, 485, 502, 505, 507, 508, 510, 511, 513, 514, 515, 517, 520, 525, 529, 533, 537], "excluded_lines": [], "start_line": 472}, "": {"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": [12, 13, 14, 15, 16, 17, 19, 34, 37, 44, 82, 157, 161, 169, 177, 187, 195, 247, 254, 257, 295, 328, 339, 369, 384, 398, 409, 416, 420, 472, 482, 487, 531, 535, 541, 544, 547, 548, 549], "excluded_lines": [], "start_line": 1}}}, "src/services/modpack_parser.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 167, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 167, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28, 29, 30, 31, 33, 36, 37, 40, 41, 42, 43, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 63, 65, 66, 68, 71, 72, 75, 76, 77, 78, 80, 82, 84, 86, 89, 92, 93, 95, 96, 98, 112, 113, 116, 117, 120, 122, 124, 126, 127, 128, 129, 130, 132, 134, 136, 138, 140, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 172, 173, 175, 177, 181, 182, 183, 189, 190, 191, 197, 198, 199, 200, 203, 204, 205, 208, 209, 210, 216, 217, 220, 234, 235, 238, 239, 242, 244, 249, 256, 266, 269, 274, 275, 276, 277, 278, 285, 287, 305, 307, 308, 310, 312, 315, 318, 319, 321, 331, 332, 334, 335, 337, 339, 341, 343, 345, 346, 347, 348, 349, 352, 353, 356, 357, 360, 361, 363, 364, 366, 372, 373, 375, 387, 396, 397, 400, 410, 412, 413, 416], "excluded_lines": [], "functions": {"CurseForgeManifest.mod_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": [63], "excluded_lines": [], "start_line": 61}, "CurseForgeManifest.required_mod_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": [68], "excluded_lines": [], "start_line": 66}, "ParsedModpack.get_mod_ids": {"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": [82], "excluded_lines": [], "start_line": 80}, "ParsedModpack.get_required_mod_ids": {"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": [86], "excluded_lines": [], "start_line": 84}, "CurseForgeModpackParser.__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": [96], "excluded_lines": [], "start_line": 95}, "CurseForgeModpackParser.parse_from_file": {"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": [112, 113, 116, 117, 120], "excluded_lines": [], "start_line": 98}, "CurseForgeModpackParser._parse_from_manifest": {"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": [124, 126, 127, 128, 129, 130, 132], "excluded_lines": [], "start_line": 122}, "CurseForgeModpackParser._parse_from_zip": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [136, 138, 140, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 172, 173, 175], "excluded_lines": [], "start_line": 134}, "CurseForgeModpackParser._parse_manifest_data": {"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": [181, 182, 183, 189, 190, 191, 197, 198, 199, 200, 203, 204, 205, 208, 209, 210, 216, 217, 220, 234, 235, 238, 239, 242, 244, 249], "excluded_lines": [], "start_line": 177}, "CurseForgeModpackParser.parse_from_url": {"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": [266, 269, 274, 275, 276, 277, 278, 285], "excluded_lines": [], "start_line": 256}, "CurseForgeModpackParser.get_dependency_tree": {"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": [305, 307, 308, 310, 312], "excluded_lines": [], "start_line": 287}, "ModrinthModpackParser.__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": [319], "excluded_lines": [], "start_line": 318}, "ModrinthModpackParser.parse_from_file": {"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": [331, 332, 334, 335, 337], "excluded_lines": [], "start_line": 321}, "ModrinthModpackParser._parse_mrpack": {"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": [341, 343, 345, 346, 347, 348, 349, 352, 353, 356, 357, 360, 361, 363, 364, 366, 372, 373, 375, 387], "excluded_lines": [], "start_line": 339}, "parse_modpack": {"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": [410, 412, 413, 416], "excluded_lines": [], "start_line": 400}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28, 29, 30, 31, 33, 36, 37, 40, 41, 42, 43, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 65, 66, 71, 72, 75, 76, 77, 78, 80, 84, 89, 92, 93, 95, 98, 122, 134, 177, 256, 287, 315, 318, 321, 339, 396, 397, 400], "excluded_lines": [], "start_line": 1}}, "classes": {"ModpackFile": {"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": 37}, "CurseForgeManifest": {"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": [63, 68], "excluded_lines": [], "start_line": 47}, "ParsedModpack": {"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": [82, 86], "excluded_lines": [], "start_line": 72}, "CurseForgeModpackParser": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 80, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 80, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [96, 112, 113, 116, 117, 120, 124, 126, 127, 128, 129, 130, 132, 136, 138, 140, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 172, 173, 175, 181, 182, 183, 189, 190, 191, 197, 198, 199, 200, 203, 204, 205, 208, 209, 210, 216, 217, 220, 234, 235, 238, 239, 242, 244, 249, 266, 269, 274, 275, 276, 277, 278, 285, 305, 307, 308, 310, 312], "excluded_lines": [], "start_line": 89}, "ModrinthModpackParser": {"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": [319, 331, 332, 334, 335, 337, 341, 343, 345, 346, 347, 348, 349, 352, 353, 356, 357, 360, 361, 363, 364, 366, 372, 373, 375, 387], "excluded_lines": [], "start_line": 315}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28, 29, 30, 31, 33, 36, 37, 40, 41, 42, 43, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 65, 66, 71, 72, 75, 76, 77, 78, 80, 84, 89, 92, 93, 95, 98, 122, 134, 177, 256, 287, 315, 318, 321, 339, 396, 397, 400, 410, 412, 413, 416], "excluded_lines": [], "start_line": 1}}}, "src/services/modrinth_service.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 13, 16, 17, 19, 22, 25, 26, 27, 28, 32, 33, 35, 58, 60, 68, 69, 70, 71, 72, 74, 75, 77, 78, 79, 85, 86, 87, 88, 89, 91, 101, 103, 104, 105, 110, 111, 112, 113, 114, 116, 133, 135, 136, 137, 138, 139, 141, 142, 143, 149, 150, 151, 152, 153, 155, 165, 167, 168, 169, 174, 175, 176, 177, 178, 180, 195, 198, 199, 200, 202, 204, 211, 213, 214, 215, 220, 221, 222, 223, 224, 226, 233, 235, 236, 237, 242, 243, 244, 245, 246, 248, 263, 266, 267, 270, 275, 276, 277, 278, 279, 280, 282, 283, 285, 292, 296], "excluded_lines": [], "functions": {"ModrinthService.__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": [26, 27, 28, 32, 33], "excluded_lines": [], "start_line": 25}, "ModrinthService.search_mods": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [58, 60, 68, 69, 70, 71, 72, 74, 75, 77, 78, 79, 85, 86, 87, 88, 89], "excluded_lines": [], "start_line": 35}, "ModrinthService.get_project": {"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": [101, 103, 104, 105, 110, 111, 112, 113, 114], "excluded_lines": [], "start_line": 91}, "ModrinthService.get_project_versions": {"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": [133, 135, 136, 137, 138, 139, 141, 142, 143, 149, 150, 151, 152, 153], "excluded_lines": [], "start_line": 116}, "ModrinthService.get_version": {"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": [165, 167, 168, 169, 174, 175, 176, 177, 178], "excluded_lines": [], "start_line": 155}, "ModrinthService.get_file_download_url": {"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": [195, 198, 199, 200, 202], "excluded_lines": [], "start_line": 180}, "ModrinthService.get_categories": {"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": [211, 213, 214, 215, 220, 221, 222, 223, 224], "excluded_lines": [], "start_line": 204}, "ModrinthService.get_loaders": {"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": [233, 235, 236, 237, 242, 243, 244, 245, 246], "excluded_lines": [], "start_line": 226}, "ModrinthService.parse_modrinth_url": {"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": [263, 266, 267, 270, 275, 276, 277, 278, 279, 280, 282, 283, 285, 292], "excluded_lines": [], "start_line": 248}, "": {"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": [8, 9, 10, 11, 13, 16, 17, 19, 22, 25, 35, 91, 116, 155, 180, 204, 226, 248, 296], "excluded_lines": [], "start_line": 1}}, "classes": {"ModrinthService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 91, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 91, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [26, 27, 28, 32, 33, 58, 60, 68, 69, 70, 71, 72, 74, 75, 77, 78, 79, 85, 86, 87, 88, 89, 101, 103, 104, 105, 110, 111, 112, 113, 114, 133, 135, 136, 137, 138, 139, 141, 142, 143, 149, 150, 151, 152, 153, 165, 167, 168, 169, 174, 175, 176, 177, 178, 195, 198, 199, 200, 202, 211, 213, 214, 215, 220, 221, 222, 223, 224, 233, 235, 236, 237, 242, 243, 244, 245, 246, 263, 266, 267, 270, 275, 276, 277, 278, 279, 280, 282, 283, 285, 292], "excluded_lines": [], "start_line": 22}, "": {"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": [8, 9, 10, 11, 13, 16, 17, 19, 22, 25, 35, 91, 116, 155, 180, 204, 226, 248, 296], "excluded_lines": [], "start_line": 1}}}, "src/services/one_click_converter.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 164, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 164, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 17, 18, 19, 20, 22, 28, 29, 30, 33, 40, 43, 44, 45, 46, 47, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 75, 82, 85, 86, 87, 88, 91, 94, 95, 96, 97, 98, 101, 104, 105, 106, 107, 108, 109, 110, 117, 125, 126, 127, 128, 130, 140, 141, 146, 148, 150, 153, 156, 159, 161, 162, 163, 164, 166, 168, 174, 176, 177, 180, 181, 182, 183, 184, 185, 187, 188, 190, 192, 198, 200, 201, 204, 210, 212, 213, 214, 215, 218, 224, 225, 229, 231, 237, 239, 240, 243, 244, 245, 246, 248, 249, 263, 270, 271, 272, 275, 277, 279, 281, 283, 284, 286, 293, 304, 305, 306, 308, 321, 324, 327, 330, 340, 341, 342, 343, 345, 347, 349, 351, 357, 359, 360, 362, 363, 365, 366, 369, 376, 391, 403, 405, 406, 407, 409, 410, 411, 416, 430, 433, 436, 437, 438], "excluded_lines": [], "functions": {"PipelineStatus.is_complete": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [66], "excluded_lines": [], "start_line": 65}, "PipelineStatus.is_error": {"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": [70], "excluded_lines": [], "start_line": 69}, "PipelineStatus.elapsed_seconds": {"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": [74, 75], "excluded_lines": [], "start_line": 73}, "OneClickPipelineSupervisor.__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": [126, 127, 128], "excluded_lines": [], "start_line": 125}, "OneClickPipelineSupervisor.execute": {"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": [140, 141, 146, 148, 150, 153, 156, 159, 161, 162, 163, 164, 166], "excluded_lines": [], "start_line": 130}, "OneClickPipelineSupervisor._stage_upload": {"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": [174, 176, 177, 180, 181, 182, 183, 184, 185, 187, 188, 190], "excluded_lines": [], "start_line": 168}, "OneClickPipelineSupervisor._stage_classify": {"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": [198, 200, 201, 204, 210, 212, 213, 214, 215, 218, 224, 225, 229], "excluded_lines": [], "start_line": 192}, "OneClickPipelineSupervisor._stage_apply_defaults": {"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": [237, 239, 240, 243, 244, 245, 246, 248, 249, 263, 270, 271, 272, 275, 277], "excluded_lines": [], "start_line": 231}, "OneClickPipelineSupervisor._stage_ready": {"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": [281, 283, 284, 286], "excluded_lines": [], "start_line": 279}, "OneClickConverter.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [305, 306], "excluded_lines": [], "start_line": 304}, "OneClickConverter.initiate": {"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": [321, 324, 327, 330, 340, 341, 342, 343, 345], "excluded_lines": [], "start_line": 308}, "OneClickConverter.get_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [349], "excluded_lines": [], "start_line": 347}, "OneClickConverter.get_ready_conversion": {"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": [357, 359, 360, 362, 363, 365, 366, 369, 376], "excluded_lines": [], "start_line": 351}, "OneClickConverter.learn_from_completion": {"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": [403, 405, 406, 407, 409, 410, 411, 416], "excluded_lines": [], "start_line": 391}, "get_one_click_converter": {"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": [436, 437, 438], "excluded_lines": [], "start_line": 433}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 17, 18, 19, 20, 22, 28, 29, 30, 33, 40, 43, 44, 45, 46, 47, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 68, 69, 72, 73, 82, 85, 86, 87, 88, 91, 94, 95, 96, 97, 98, 101, 104, 105, 106, 107, 108, 109, 110, 117, 125, 130, 168, 192, 231, 279, 293, 304, 308, 347, 351, 391, 430, 433], "excluded_lines": [], "start_line": 1}}, "classes": {"PipelineStage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "PipelineStatus": {"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": [66, 70, 74, 75], "excluded_lines": [], "start_line": 50}, "OneClickConvertRequest": {"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": 82}, "OneClickConvertResponse": {"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": 91}, "ReadyToConvert": {"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": 101}, "OneClickPipelineSupervisor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 60, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 60, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [126, 127, 128, 140, 141, 146, 148, 150, 153, 156, 159, 161, 162, 163, 164, 166, 174, 176, 177, 180, 181, 182, 183, 184, 185, 187, 188, 190, 198, 200, 201, 204, 210, 212, 213, 214, 215, 218, 224, 225, 229, 237, 239, 240, 243, 244, 245, 246, 248, 249, 263, 270, 271, 272, 275, 277, 281, 283, 284, 286], "excluded_lines": [], "start_line": 117}, "OneClickConverter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [305, 306, 321, 324, 327, 330, 340, 341, 342, 343, 345, 349, 357, 359, 360, 362, 363, 365, 366, 369, 376, 403, 405, 406, 407, 409, 410, 411, 416], "excluded_lines": [], "start_line": 293}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 71, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 71, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 17, 18, 19, 20, 22, 28, 29, 30, 33, 40, 43, 44, 45, 46, 47, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 68, 69, 72, 73, 82, 85, 86, 87, 88, 91, 94, 95, 96, 97, 98, 101, 104, 105, 106, 107, 108, 109, 110, 117, 125, 130, 168, 192, 231, 279, 293, 304, 308, 347, 351, 391, 430, 433, 436, 437, 438], "excluded_lines": [], "start_line": 1}}}, "src/services/progress_callback.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 11, 14, 17, 18, 19, 21, 29, 30, 31, 33, 34, 36, 44, 45, 46, 47, 48, 50, 68, 78, 79, 80, 83, 84, 85, 86, 87, 88, 90, 92, 94, 96, 98, 99, 100, 101, 102, 106, 109, 112, 113, 114, 118, 121, 122, 123, 124, 125, 126, 127, 131], "excluded_lines": [], "functions": {"ProgressCallback.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19], "excluded_lines": [], "start_line": 17}, "ProgressCallback.subscribe": {"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": [29, 30, 31, 33, 34], "excluded_lines": [], "start_line": 21}, "ProgressCallback.unsubscribe": {"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": [44, 45, 46, 47, 48], "excluded_lines": [], "start_line": 36}, "ProgressCallback.update_progress": {"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": [68, 78, 79, 80, 83, 84, 85, 86, 87, 88, 90], "excluded_lines": [], "start_line": 50}, "ProgressCallback.get_progress_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": [94], "excluded_lines": [], "start_line": 92}, "ProgressCallback.cleanup_job": {"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": [98, 99, 100, 101, 102], "excluded_lines": [], "start_line": 96}, "get_progress_callback": {"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": [112, 113, 114], "excluded_lines": [], "start_line": 109}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 11, 14, 17, 21, 36, 50, 92, 96, 106, 109, 118, 121, 122, 123, 124, 125, 126, 127, 131], "excluded_lines": [], "start_line": 1}}, "classes": {"ProgressCallback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 19, 29, 30, 31, 33, 34, 44, 45, 46, 47, 48, 68, 78, 79, 80, 83, 84, 85, 86, 87, 88, 90, 94, 98, 99, 100, 101, 102], "excluded_lines": [], "start_line": 14}, "ConversionStages": {"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": 118}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 11, 14, 17, 21, 36, 50, 92, 96, 106, 109, 112, 113, 114, 118, 121, 122, 123, 124, 125, 126, 127, 131], "excluded_lines": [], "start_line": 1}}}, "src/services/rate_limiter.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 176, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 176, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 29, 32, 33, 36, 37, 38, 40, 41, 44, 45, 48, 49, 50, 51, 53, 55, 56, 59, 65, 66, 67, 68, 69, 70, 72, 74, 75, 77, 78, 79, 80, 81, 82, 84, 86, 87, 89, 92, 93, 94, 96, 99, 100, 101, 103, 105, 110, 112, 113, 115, 117, 129, 130, 132, 134, 135, 137, 139, 143, 145, 146, 149, 150, 151, 153, 154, 155, 158, 159, 161, 166, 167, 169, 179, 180, 182, 184, 188, 191, 192, 196, 197, 198, 199, 202, 204, 205, 206, 208, 209, 214, 224, 226, 227, 228, 230, 231, 232, 233, 235, 236, 238, 246, 247, 250, 251, 261, 266, 267, 268, 271, 286, 291, 294, 295, 298, 299, 300, 301, 302, 305, 311, 315, 317, 318, 319, 321, 326, 345, 348, 351, 352, 355, 356, 359, 360, 361, 362, 364, 368, 371, 375, 376, 377, 379, 382, 386, 387, 388, 389, 391, 394, 397, 398, 400, 401, 404, 407, 408, 409, 413, 415, 416, 420, 424], "excluded_lines": [], "functions": {"RateLimitState.reset_window": {"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": [55, 56], "excluded_lines": [], "start_line": 53}, "RateLimiter.__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": [66, 67, 68, 69, 70], "excluded_lines": [], "start_line": 65}, "RateLimiter.initialize": {"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": [74, 75, 77, 78, 79, 80, 81, 82], "excluded_lines": [], "start_line": 72}, "RateLimiter.close": {"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": [86, 87], "excluded_lines": [], "start_line": 84}, "RateLimiter._get_client_key": {"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": [92, 93, 94, 96, 99, 100, 101, 103], "excluded_lines": [], "start_line": 89}, "RateLimiter._get_user_config": {"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": [110, 112, 113, 115], "excluded_lines": [], "start_line": 105}, "RateLimiter.check_rate_limit": {"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": [129, 130, 132, 134, 135, 137], "excluded_lines": [], "start_line": 117}, "RateLimiter._check_redis": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [143, 145, 146, 149, 150, 151, 153, 154, 155, 158, 159, 161, 166, 167, 169, 179, 180, 182], "excluded_lines": [], "start_line": 139}, "RateLimiter._check_local": {"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": [188, 191, 192, 196, 197, 198, 199, 202, 204, 205, 206, 208, 209, 214], "excluded_lines": [], "start_line": 184}, "RateLimiter.get_rate_limit_status": {"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": [226, 227, 228, 230, 231, 232, 233, 235, 236, 238, 246, 247, 250, 251], "excluded_lines": [], "start_line": 224}, "RateLimitMiddleware.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [267, 268, 271, 286], "excluded_lines": [], "start_line": 266}, "RateLimitMiddleware.dispatch": {"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": [294, 295, 298, 299, 300, 301, 302, 305, 311, 315, 317, 318, 319, 321, 326, 345, 348, 351, 352, 355, 356, 359, 360, 361, 362, 364], "excluded_lines": [], "start_line": 291}, "create_global_limiter": {"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": [375, 376, 377, 379], "excluded_lines": [], "start_line": 371}, "get_rate_limiter": {"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": [386, 387, 388, 389, 391], "excluded_lines": [], "start_line": 382}, "init_rate_limiter": {"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": [397, 398, 400, 401], "excluded_lines": [], "start_line": 394}, "close_rate_limiter": {"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": [407, 408, 409], "excluded_lines": [], "start_line": 404}, "check_rate_limit": {"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": [415, 416], "excluded_lines": [], "start_line": 413}, "": {"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": [10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 29, 32, 33, 36, 37, 38, 40, 41, 44, 45, 48, 49, 50, 51, 53, 59, 65, 72, 84, 89, 105, 117, 139, 184, 224, 261, 266, 291, 368, 371, 382, 394, 404, 413, 420, 424], "excluded_lines": [], "start_line": 1}}, "classes": {"RateLimitConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "RateLimitState": {"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": [55, 56], "excluded_lines": [], "start_line": 45}, "RateLimiter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 79, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 79, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [66, 67, 68, 69, 70, 74, 75, 77, 78, 79, 80, 81, 82, 86, 87, 92, 93, 94, 96, 99, 100, 101, 103, 110, 112, 113, 115, 129, 130, 132, 134, 135, 137, 143, 145, 146, 149, 150, 151, 153, 154, 155, 158, 159, 161, 166, 167, 169, 179, 180, 182, 188, 191, 192, 196, 197, 198, 199, 202, 204, 205, 206, 208, 209, 214, 226, 227, 228, 230, 231, 232, 233, 235, 236, 238, 246, 247, 250, 251], "excluded_lines": [], "start_line": 59}, "RateLimitMiddleware": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [267, 268, 271, 286, 294, 295, 298, 299, 300, 301, 302, 305, 311, 315, 317, 318, 319, 321, 326, 345, 348, 351, 352, 355, 356, 359, 360, 361, 362, 364], "excluded_lines": [], "start_line": 261}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 29, 32, 33, 36, 37, 38, 40, 41, 44, 45, 48, 49, 50, 51, 53, 59, 65, 72, 84, 89, 105, 117, 139, 184, 224, 261, 266, 291, 368, 371, 375, 376, 377, 379, 382, 386, 387, 388, 389, 391, 394, 397, 398, 400, 401, 404, 407, 408, 409, 413, 415, 416, 420, 424], "excluded_lines": [], "start_line": 1}}}, "src/services/report_exporter.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 86, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 86, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [6, 7, 8, 9, 10, 11, 14, 17, 18, 20, 22, 24, 25, 27, 29, 31, 34, 41, 42, 44, 46, 47, 48, 49, 50, 51, 53, 55, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 74, 75, 76, 81, 82, 86, 88, 90, 91, 93, 95, 97, 100, 103, 106, 109, 116, 118, 120, 122, 287, 290, 291, 293, 295, 296, 298, 299, 300, 301, 303, 305, 306, 308, 309, 312, 313, 316, 317, 319, 321, 322, 324, 326, 327, 328, 329], "excluded_lines": [], "functions": {"ReportExporter.__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": [18], "excluded_lines": [], "start_line": 17}, "ReportExporter.export_to_json": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [22, 24, 25, 27], "excluded_lines": [], "start_line": 20}, "ReportExporter.export_to_html": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [31, 34, 41, 42], "excluded_lines": [], "start_line": 29}, "ReportExporter._escape_report_data": {"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": [46, 47, 48, 49, 50, 51, 53], "excluded_lines": [], "start_line": 44}, "ReportExporter.export_to_csv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 74, 75, 76, 81, 82, 86], "excluded_lines": [], "start_line": 55}, "ReportExporter.create_shareable_link": {"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": [90, 91, 93], "excluded_lines": [], "start_line": 88}, "ReportExporter.generate_download_package": {"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": [97, 100, 103, 106, 109, 116, 118], "excluded_lines": [], "start_line": 95}, "ReportExporter._get_html_template": {"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": [122], "excluded_lines": [], "start_line": 120}, "PDFExporter.__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": [291], "excluded_lines": [], "start_line": 290}, "PDFExporter._check_dependencies": {"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": [295, 296, 298, 299, 300, 301], "excluded_lines": [], "start_line": 293}, "PDFExporter.export_to_pdf": {"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": [305, 306, 308, 309, 312, 313, 316, 317, 319, 321, 322], "excluded_lines": [], "start_line": 303}, "PDFExporter.export_to_pdf_base64": {"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": [326, 327, 328, 329], "excluded_lines": [], "start_line": 324}, "": {"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": [6, 7, 8, 9, 10, 11, 14, 17, 20, 29, 44, 55, 88, 95, 120, 287, 290, 293, 303, 324], "excluded_lines": [], "start_line": 1}}, "classes": {"ReportExporter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 22, 24, 25, 27, 31, 34, 41, 42, 46, 47, 48, 49, 50, 51, 53, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 74, 75, 76, 81, 82, 86, 90, 91, 93, 97, 100, 103, 106, 109, 116, 118, 122], "excluded_lines": [], "start_line": 14}, "PDFExporter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [291, 295, 296, 298, 299, 300, 301, 305, 306, 308, 309, 312, 313, 316, 317, 319, 321, 322, 326, 327, 328, 329], "excluded_lines": [], "start_line": 287}, "": {"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": [6, 7, 8, 9, 10, 11, 14, 17, 20, 29, 44, 55, 88, 95, 120, 287, 290, 293, 303, 324], "excluded_lines": [], "start_line": 1}}}, "src/services/report_generator.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 80, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 80, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 15, 16, 22, 142, 193, 194, 195, 207, 208, 209, 210, 218, 221, 228, 231, 232, 234, 235, 246, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 261, 270, 272, 273, 285, 286, 287, 288, 295, 296, 297, 298, 300, 304, 305, 306, 314, 315, 317, 323, 326, 329, 332, 340, 341, 345, 356, 362, 364, 367, 370, 374, 376, 386, 387, 389, 395, 400, 405, 411, 413, 416, 417, 419, 422, 423, 425, 428, 429], "excluded_lines": [], "functions": {"ConversionReportGenerator.generate_summary_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [195], "excluded_lines": [], "start_line": 194}, "ConversionReportGenerator.generate_feature_analysis": {"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": [208, 209, 210, 218, 221], "excluded_lines": [], "start_line": 207}, "ConversionReportGenerator.generate_assumptions_report": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [231, 232, 234, 235, 246, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 261, 270], "excluded_lines": [], "start_line": 228}, "ConversionReportGenerator.generate_developer_log": {"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": [273], "excluded_lines": [], "start_line": 272}, "ConversionReportGenerator._map_mod_statuses": {"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": [286, 287, 288, 295, 296, 297, 298], "excluded_lines": [], "start_line": 285}, "ConversionReportGenerator._map_smart_assumptions_prd": {"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": [304, 305, 306, 314, 315], "excluded_lines": [], "start_line": 300}, "ConversionReportGenerator.create_interactive_report": {"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": [323, 326, 329, 332, 340, 341, 345], "excluded_lines": [], "start_line": 317}, "ConversionReportGenerator.create_full_conversion_report_prd_style": {"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": [362, 364, 367, 370, 374, 376], "excluded_lines": [], "start_line": 356}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 15, 16, 22, 142, 193, 194, 207, 228, 272, 285, 300, 317, 356, 386, 387, 389, 395, 400, 405, 411, 413, 416, 417, 419, 422, 423, 425, 428, 429], "excluded_lines": [], "start_line": 1}}, "classes": {"ConversionReportGenerator": {"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": [195, 208, 209, 210, 218, 221, 231, 232, 234, 235, 246, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 261, 270, 273, 286, 287, 288, 295, 296, 297, 298, 304, 305, 306, 314, 315, 323, 326, 329, 332, 340, 341, 345, 362, 364, 367, 370, 374, 376], "excluded_lines": [], "start_line": 193}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 15, 16, 22, 142, 193, 194, 207, 228, 272, 285, 300, 317, 356, 386, 387, 389, 395, 400, 405, 411, 413, 416, 417, 419, 422, 423, 425, 428, 429], "excluded_lines": [], "start_line": 1}}}, "src/services/report_models.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "start_line": 1}}, "classes": {"ModConversionStatus": {"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": 5}, "SmartAssumption": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13}, "SummaryReport": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "FeatureConversionDetail": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 34}, "FeatureAnalysis": {"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": 43}, "AssumptionDetail": {"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": 50}, "AssumptionsReport": {"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": 60}, "LogEntry": {"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": 65}, "DeveloperLog": {"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": 72}, "InteractiveReport": {"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": 82}, "FullConversionReport": {"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": 94}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 74, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 74, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 62, 65, 66, 67, 68, 69, 72, 73, 74, 75, 76, 79, 82, 83, 84, 85, 86, 87, 88, 89, 90, 94, 95, 96, 97, 98, 99], "excluded_lines": [], "start_line": 1}}}, "src/services/resource_allocator.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 352, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 352, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 25, 27, 28, 29, 30, 33, 42, 43, 44, 45, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 61, 62, 63, 65, 66, 68, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 85, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 109, 111, 112, 114, 116, 133, 134, 137, 138, 141, 142, 145, 146, 149, 150, 151, 153, 155, 162, 166, 170, 173, 174, 176, 177, 178, 179, 180, 181, 182, 183, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 217, 219, 234, 245, 257, 258, 261, 264, 267, 270, 273, 276, 279, 282, 284, 291, 316, 317, 319, 333, 336, 338, 343, 345, 355, 356, 357, 359, 362, 363, 365, 366, 367, 369, 376, 377, 378, 379, 381, 382, 383, 384, 386, 390, 409, 410, 417, 418, 419, 421, 423, 424, 425, 426, 427, 436, 440, 455, 457, 458, 461, 462, 463, 464, 465, 466, 467, 468, 470, 472, 474, 475, 476, 477, 481, 482, 484, 486, 487, 488, 490, 491, 493, 498, 501, 502, 503, 512, 513, 515, 518, 524, 531, 532, 533, 535, 546, 554, 559, 562, 563, 565, 566, 567, 570, 571, 572, 573, 574, 575, 578, 579, 580, 582, 583, 592, 598, 605, 606, 607, 609, 620, 625, 628, 629, 634, 636, 637, 641, 647, 654, 655, 656, 658, 670, 672, 677, 680, 685, 686, 690, 696, 703, 704, 705, 707, 718, 726, 736, 737, 738, 739, 741, 742, 745, 746, 747, 748, 753, 754, 757, 759, 760, 762, 772, 773, 775, 776, 777, 779, 780, 782, 786, 788, 790, 792, 793, 794, 796, 802, 804, 805, 811, 818, 819, 822, 824, 825, 826, 827, 829, 831, 832, 834, 836, 838, 839, 842, 843, 844, 860, 861, 862, 871, 872, 874, 876, 878, 879, 880, 882, 884, 892, 895, 896, 898, 902, 905, 908, 909, 910, 913, 916, 917, 918, 919, 921, 924, 925], "excluded_lines": [], "functions": {"ResourcePool.utilization": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [61, 62, 63], "excluded_lines": [], "start_line": 59}, "ResourcePool.is_available": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [68], "excluded_lines": [], "start_line": 66}, "ResourceAllocation.is_active": {"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": [85], "excluded_lines": [], "start_line": 83}, "WorkerNode.can_accept_work": {"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": 107}, "WorkerNode.effective_gpu_memory": {"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": [114], "excluded_lines": [], "start_line": 112}, "WorkerNode.allocate_resources": {"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": [133, 134, 137, 138, 141, 142, 145, 146, 149, 150, 151, 153], "excluded_lines": [], "start_line": 116}, "WorkerNode.release_resources": {"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": [162, 166, 170], "excluded_lines": [], "start_line": 155}, "ResourceAllocatorStats.__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": [205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215], "excluded_lines": [], "start_line": 204}, "ResourceAllocatorStats.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": [219], "excluded_lines": [], "start_line": 217}, "ResourceAllocator.__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": [257, 258, 261, 264, 267, 270, 273, 276, 279, 282, 284], "excluded_lines": [], "start_line": 245}, "ResourceAllocator.register_node": {"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": [316, 317, 319, 333, 336, 338, 343], "excluded_lines": [], "start_line": 291}, "ResourceAllocator.unregister_node": {"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": [355, 356, 357, 359, 362, 363, 365, 366, 367], "excluded_lines": [], "start_line": 345}, "ResourceAllocator.update_node_status": {"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": [376, 377, 378, 379, 381, 382, 383, 384, 386], "excluded_lines": [], "start_line": 369}, "ResourceAllocator.create_resource_pool": {"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": [409, 410, 417, 418, 419], "excluded_lines": [], "start_line": 390}, "ResourceAllocator.get_pool_stats": {"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": [423, 424, 425, 426, 427, 436], "excluded_lines": [], "start_line": 421}, "ResourceAllocator.allocate": {"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": [455, 457, 458, 461, 462, 463, 464, 465, 466, 467, 468, 470, 472, 474, 475, 476, 477, 481, 482, 484, 486, 487, 488, 490, 491], "excluded_lines": [], "start_line": 440}, "ResourceAllocator._allocate_round_robin": {"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": [498, 501, 502, 503, 512, 513, 515, 518, 524, 531, 532, 533, 535, 546], "excluded_lines": [], "start_line": 493}, "ResourceAllocator._allocate_capacity_based": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [559, 562, 563, 565, 566, 567, 570, 571, 572, 573, 574, 575, 578, 579, 580, 582, 583, 592, 598, 605, 606, 607, 609], "excluded_lines": [], "start_line": 554}, "ResourceAllocator._allocate_mode_based": {"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": [625, 628, 629, 634, 636, 637, 641, 647, 654, 655, 656, 658, 670], "excluded_lines": [], "start_line": 620}, "ResourceAllocator._allocate_priority_based": {"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": [677, 680, 685, 686, 690, 696, 703, 704, 705, 707, 718], "excluded_lines": [], "start_line": 672}, "ResourceAllocator.release_allocation": {"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": [736, 737, 738, 739, 741, 742, 745, 746, 747, 748, 753, 754, 757, 759, 760], "excluded_lines": [], "start_line": 726}, "ResourceAllocator.release_job_allocations": {"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": [772, 773, 775, 776, 777, 779, 780, 782], "excluded_lines": [], "start_line": 762}, "ResourceAllocator.get_allocation": {"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": [788], "excluded_lines": [], "start_line": 786}, "ResourceAllocator.get_node_allocations": {"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": [792, 793, 794, 796], "excluded_lines": [], "start_line": 790}, "ResourceAllocator.get_job_allocations": {"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": [804, 805], "excluded_lines": [], "start_line": 802}, "ResourceAllocator.process_wait_queue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [818, 819, 822, 824, 825, 826, 827, 829, 831, 832, 834], "excluded_lines": [], "start_line": 811}, "ResourceAllocator.get_stats": {"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": [838, 839, 842, 843, 844, 860, 861, 862, 871, 872, 874], "excluded_lines": [], "start_line": 836}, "ResourceAllocator.get_available_resources": {"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": [878, 879, 880, 882, 884], "excluded_lines": [], "start_line": 876}, "ResourceAllocator.close": {"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": [895, 896, 898], "excluded_lines": [], "start_line": 892}, "get_resource_allocator": {"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": [908, 909, 910], "excluded_lines": [], "start_line": 905}, "reset_resource_allocator": {"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": [916, 917, 918, 919, 921, 924, 925], "excluded_lines": [], "start_line": 913}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 115, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 115, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 25, 27, 28, 29, 30, 33, 42, 43, 44, 45, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 65, 66, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 111, 112, 116, 155, 173, 174, 176, 177, 178, 179, 180, 181, 182, 183, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 201, 204, 217, 234, 245, 291, 345, 369, 390, 421, 440, 493, 554, 620, 672, 726, 762, 786, 790, 802, 811, 836, 876, 892, 902, 905, 913], "excluded_lines": [], "start_line": 1}}, "classes": {"ResourceType": {"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": 25}, "AllocationStrategy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "ResourcePool": {"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": [61, 62, 63, 68], "excluded_lines": [], "start_line": 49}, "ResourceAllocation": {"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": [85], "excluded_lines": [], "start_line": 72}, "WorkerNode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [109, 114, 133, 134, 137, 138, 141, 142, 145, 146, 149, 150, 151, 153, 162, 166, 170], "excluded_lines": [], "start_line": 89}, "ResourceAllocationRequest": {"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": 174}, "ResourceAllocationResult": {"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": 187}, "ResourceAllocatorStats": {"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": [205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 219], "excluded_lines": [], "start_line": 201}, "ResourceAllocator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 193, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 193, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [257, 258, 261, 264, 267, 270, 273, 276, 279, 282, 284, 316, 317, 319, 333, 336, 338, 343, 355, 356, 357, 359, 362, 363, 365, 366, 367, 376, 377, 378, 379, 381, 382, 383, 384, 386, 409, 410, 417, 418, 419, 423, 424, 425, 426, 427, 436, 455, 457, 458, 461, 462, 463, 464, 465, 466, 467, 468, 470, 472, 474, 475, 476, 477, 481, 482, 484, 486, 487, 488, 490, 491, 498, 501, 502, 503, 512, 513, 515, 518, 524, 531, 532, 533, 535, 546, 559, 562, 563, 565, 566, 567, 570, 571, 572, 573, 574, 575, 578, 579, 580, 582, 583, 592, 598, 605, 606, 607, 609, 625, 628, 629, 634, 636, 637, 641, 647, 654, 655, 656, 658, 670, 677, 680, 685, 686, 690, 696, 703, 704, 705, 707, 718, 736, 737, 738, 739, 741, 742, 745, 746, 747, 748, 753, 754, 757, 759, 760, 772, 773, 775, 776, 777, 779, 780, 782, 788, 792, 793, 794, 796, 804, 805, 818, 819, 822, 824, 825, 826, 827, 829, 831, 832, 834, 838, 839, 842, 843, 844, 860, 861, 862, 871, 872, 874, 878, 879, 880, 882, 884, 895, 896, 898], "excluded_lines": [], "start_line": 234}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 125, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 125, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 25, 27, 28, 29, 30, 33, 42, 43, 44, 45, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 65, 66, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 106, 107, 111, 112, 116, 155, 173, 174, 176, 177, 178, 179, 180, 181, 182, 183, 186, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 201, 204, 217, 234, 245, 291, 345, 369, 390, 421, 440, 493, 554, 620, 672, 726, 762, 786, 790, 802, 811, 836, 876, 892, 902, 905, 908, 909, 910, 913, 916, 917, 918, 919, 921, 924, 925], "excluded_lines": [], "start_line": 1}}}, "src/services/result_storage.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 14, 15, 17, 19, 23, 24, 27, 30, 33, 34, 35, 38, 39, 41, 43, 64, 67, 68, 69, 71, 74, 84, 87, 88, 89, 91, 93, 94, 96, 107, 108, 109, 112, 113, 115, 116, 117, 119, 127, 137, 138, 139, 140, 142, 152, 155, 156, 157, 159, 160, 162, 163, 164, 165, 168, 169, 171, 172, 174, 176, 179, 180, 182, 183, 184, 186, 196, 199, 202, 203, 204], "excluded_lines": [], "functions": {"ResultStorage.__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, 38, 39, 41], "excluded_lines": [], "start_line": 33}, "ResultStorage.store_result": {"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": [64, 67, 68, 69, 71, 74, 84, 87, 88, 89, 91, 93, 94], "excluded_lines": [], "start_line": 43}, "ResultStorage.get_result": {"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": [107, 108, 109, 112, 113, 115, 116, 117, 119], "excluded_lines": [], "start_line": 96}, "ResultStorage.download_result": {"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": [137, 138, 139, 140], "excluded_lines": [], "start_line": 127}, "ResultStorage.cleanup_expired_results": {"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": [152, 155, 156, 157, 159, 160, 162, 163, 164, 165, 168, 169, 171, 172, 174], "excluded_lines": [], "start_line": 142}, "ResultStorage.get_storage_stats": {"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": [179, 180, 182, 183, 184, 186], "excluded_lines": [], "start_line": 176}, "get_result_storage": {"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": [202, 203, 204], "excluded_lines": [], "start_line": 199}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 14, 15, 17, 19, 23, 24, 27, 30, 33, 43, 96, 127, 142, 176, 196, 199], "excluded_lines": [], "start_line": 1}}, "classes": {"ResultStorage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [34, 35, 38, 39, 41, 64, 67, 68, 69, 71, 74, 84, 87, 88, 89, 91, 93, 94, 107, 108, 109, 112, 113, 115, 116, 117, 119, 137, 138, 139, 140, 152, 155, 156, 157, 159, 160, 162, 163, 164, 165, 168, 169, 171, 172, 174, 179, 180, 182, 183, 184, 186], "excluded_lines": [], "start_line": 30}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [7, 8, 9, 10, 11, 12, 14, 15, 17, 19, 23, 24, 27, 30, 33, 43, 96, 127, 142, 176, 196, 199, 202, 203, 204], "excluded_lines": [], "start_line": 1}}}, "src/services/retry.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 157, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 157, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 14, 18, 26, 29, 37, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 90, 98, 106, 114, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 156, 159, 169, 170, 171, 172, 173, 174, 179, 186, 188, 189, 191, 192, 194, 196, 199, 202, 203, 204, 207, 208, 209, 213, 214, 217, 242, 244, 245, 254, 255, 256, 258, 260, 261, 262, 263, 264, 267, 268, 269, 272, 273, 276, 279, 282, 283, 289, 290, 293, 296, 297, 300, 323, 325, 326, 335, 336, 337, 339, 341, 342, 343, 344, 345, 348, 349, 350, 353, 354, 357, 360, 363, 364, 370, 371, 374, 377, 378, 381, 391, 392, 393, 394, 396, 398, 401, 411, 412, 413, 414, 416, 418], "excluded_lines": [382, 402], "functions": {"categorize_error": {"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": [114, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153], "excluded_lines": [], "start_line": 106}, "RetryConfig.__init__": {"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": [169, 170, 171, 172, 173, 174, 179], "excluded_lines": [], "start_line": 159}, "calculate_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [188, 189, 191, 192, 194, 196], "excluded_lines": [], "start_line": 186}, "is_retryable": {"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": [202, 203, 204, 207, 208, 209, 213, 214], "excluded_lines": [], "start_line": 199}, "retry_async": {"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": [242, 244, 245, 254, 255, 256, 258, 260, 261, 262, 263, 264, 267, 268, 269, 272, 273, 276, 279, 282, 283, 289, 290, 293, 296, 297], "excluded_lines": [], "start_line": 217}, "retry_sync": {"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": [323, 325, 326, 335, 336, 337, 339, 341, 342, 343, 344, 345, 348, 349, 350, 353, 354, 357, 360, 363, 364, 370, 371, 374, 377, 378], "excluded_lines": [], "start_line": 300}, "with_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [391, 392, 398], "excluded_lines": [382], "start_line": 381}, "with_retry.decorator": {"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": [393, 396], "excluded_lines": [], "start_line": 391}, "with_retry.decorator.wrapper": {"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": [394], "excluded_lines": [], "start_line": 393}, "with_retry_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [411, 412, 418], "excluded_lines": [402], "start_line": 401}, "with_retry_sync.decorator": {"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": [413, 416], "excluded_lines": [], "start_line": 411}, "with_retry_sync.decorator.wrapper": {"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": [414], "excluded_lines": [], "start_line": 413}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 14, 18, 26, 29, 37, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 90, 98, 106, 156, 159, 186, 199, 217, 300, 381, 401], "excluded_lines": [], "start_line": 1}}, "classes": {"RetryableError": {"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": 18}, "NonRetryableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "ParseError": {"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": 41}, "AssetError": {"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": 47}, "LogicError": {"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": 53}, "PackageError": {"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": 59}, "ValidationError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65}, "NetworkError": {"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": 71}, "RateLimitError": {"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": 77}, "TimeoutError": {"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": 83}, "RetryConfig": {"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": [169, 170, 171, 172, 173, 174, 179], "excluded_lines": [], "start_line": 156}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 150, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 150, "excluded_lines": 2, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 14, 18, 26, 29, 37, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 90, 98, 106, 114, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 156, 159, 186, 188, 189, 191, 192, 194, 196, 199, 202, 203, 204, 207, 208, 209, 213, 214, 217, 242, 244, 245, 254, 255, 256, 258, 260, 261, 262, 263, 264, 267, 268, 269, 272, 273, 276, 279, 282, 283, 289, 290, 293, 296, 297, 300, 323, 325, 326, 335, 336, 337, 339, 341, 342, 343, 344, 345, 348, 349, 350, 353, 354, 357, 360, 363, 364, 370, 371, 374, 377, 378, 381, 391, 392, 393, 394, 396, 398, 401, 411, 412, 413, 414, 416, 418], "excluded_lines": [382, 402], "start_line": 1}}}, "src/services/security_headers.py": {"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": [1, 2, 5, 10, 11, 13, 14, 17, 18, 19, 20, 28], "excluded_lines": [], "functions": {"SecurityHeadersMiddleware.__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": [11], "excluded_lines": [], "start_line": 10}, "SecurityHeadersMiddleware.dispatch": {"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": [14, 17, 18, 19, 20, 28], "excluded_lines": [], "start_line": 13}, "": {"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": [1, 2, 5, 10, 13], "excluded_lines": [], "start_line": 1}}, "classes": {"SecurityHeadersMiddleware": {"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": [11, 14, 17, 18, 19, 20, 28], "excluded_lines": [], "start_line": 5}, "": {"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": [1, 2, 5, 10, 13], "excluded_lines": [], "start_line": 1}}}, "src/services/smart_defaults.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 157, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 157, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 19, 26, 33, 36, 37, 38, 39, 40, 43, 46, 47, 48, 49, 50, 51, 54, 57, 58, 59, 60, 61, 62, 63, 64, 67, 70, 71, 72, 73, 80, 144, 200, 247, 257, 258, 259, 260, 262, 281, 283, 284, 285, 288, 289, 290, 291, 294, 295, 296, 297, 298, 301, 302, 305, 306, 307, 308, 311, 312, 313, 314, 317, 318, 319, 322, 325, 337, 343, 347, 350, 354, 356, 357, 358, 359, 360, 363, 365, 369, 370, 372, 373, 374, 377, 378, 379, 381, 382, 385, 386, 388, 394, 395, 398, 403, 404, 407, 408, 409, 410, 411, 412, 415, 416, 417, 418, 420, 421, 422, 424, 427, 428, 430, 432, 436, 438, 445, 451, 456, 458, 460, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 478, 488, 491, 502, 504, 513, 516, 517, 518, 519, 520, 521, 523, 530, 533, 536, 537, 538], "excluded_lines": [], "functions": {"SmartDefaultsEngine.__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": [258, 259, 260], "excluded_lines": [], "start_line": 257}, "SmartDefaultsEngine.get_defaults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [281, 283, 284, 285, 288, 289, 290, 291, 294, 295, 296, 297, 298, 301, 302, 305, 306, 307, 308, 311, 312, 313, 314, 317, 318, 319, 322, 325, 337], "excluded_lines": [], "start_line": 262}, "SmartDefaultsEngine._apply_mode_rules": {"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": [347, 350, 354, 356, 357, 358, 359, 360, 363], "excluded_lines": [], "start_line": 343}, "SmartDefaultsEngine._apply_feature_rules": {"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": [369, 370, 372, 373, 374, 377, 378, 379, 381, 382, 385, 386], "excluded_lines": [], "start_line": 365}, "SmartDefaultsEngine._apply_pattern_matching": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [394, 395, 398, 403, 404, 407, 408, 409, 410, 411, 412, 415, 416, 417, 418, 420, 421, 422, 424, 427, 428, 430], "excluded_lines": [], "start_line": 388}, "SmartDefaultsEngine._get_user_preferences": {"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": [436], "excluded_lines": [], "start_line": 432}, "SmartDefaultsEngine._apply_user_preferences": {"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": [445, 451, 456], "excluded_lines": [], "start_line": 438}, "SmartDefaultsEngine._evaluate_condition": {"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": [460, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "excluded_lines": [], "start_line": 458}, "SmartDefaultsEngine.learn_from_conversion": {"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": [488, 491, 502], "excluded_lines": [], "start_line": 478}, "SmartDefaultsEngine.get_pattern_suggestions": {"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": [513, 516, 517, 518, 519, 520, 521, 523], "excluded_lines": [], "start_line": 504}, "get_smart_defaults_engine": {"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": [536, 537, 538], "excluded_lines": [], "start_line": 533}, "": {"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": [14, 15, 16, 17, 19, 26, 33, 36, 37, 38, 39, 40, 43, 46, 47, 48, 49, 50, 51, 54, 57, 58, 59, 60, 61, 62, 63, 64, 67, 70, 71, 72, 73, 80, 144, 200, 247, 257, 262, 343, 365, 388, 432, 438, 458, 478, 504, 530, 533], "excluded_lines": [], "start_line": 1}}, "classes": {"DefaultSelectionRule": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33}, "PatternMatch": {"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": 43}, "HistoricalConversion": {"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": 54}, "SmartDefaultsResult": {"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": 67}, "SmartDefaultsEngine": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 105, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 105, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [258, 259, 260, 281, 283, 284, 285, 288, 289, 290, 291, 294, 295, 296, 297, 298, 301, 302, 305, 306, 307, 308, 311, 312, 313, 314, 317, 318, 319, 322, 325, 337, 347, 350, 354, 356, 357, 358, 359, 360, 363, 369, 370, 372, 373, 374, 377, 378, 379, 381, 382, 385, 386, 394, 395, 398, 403, 404, 407, 408, 409, 410, 411, 412, 415, 416, 417, 418, 420, 421, 422, 424, 427, 428, 430, 436, 445, 451, 456, 460, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 488, 491, 502, 513, 516, 517, 518, 519, 520, 521, 523], "excluded_lines": [], "start_line": 247}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 19, 26, 33, 36, 37, 38, 39, 40, 43, 46, 47, 48, 49, 50, 51, 54, 57, 58, 59, 60, 61, 62, 63, 64, 67, 70, 71, 72, 73, 80, 144, 200, 247, 257, 262, 343, 365, 388, 432, 438, 458, 478, 504, 530, 533, 536, 537, 538], "excluded_lines": [], "start_line": 1}}}, "src/services/structured_logging.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 162, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 162, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 24, 29, 44, 45, 48, 49, 51, 52, 55, 58, 66, 67, 68, 69, 71, 74, 75, 78, 87, 88, 91, 94, 95, 97, 99, 105, 108, 109, 110, 112, 117, 118, 119, 121, 124, 127, 128, 129, 130, 132, 134, 145, 146, 147, 150, 151, 152, 155, 156, 159, 160, 163, 164, 166, 167, 169, 172, 173, 176, 186, 189, 199, 202, 203, 206, 207, 209, 213, 214, 217, 218, 220, 225, 226, 227, 229, 232, 243, 244, 246, 247, 248, 249, 252, 259, 262, 266, 269, 276, 277, 280, 284, 287, 296, 297, 298, 299, 300, 302, 303, 304, 306, 307, 310, 311, 313, 315, 316, 317, 320, 339, 345, 346, 348, 349, 351, 353, 356, 373, 379, 380, 382, 384, 387, 402, 408, 409, 411, 413, 417, 419, 423, 426, 428, 429, 430, 431, 433, 434, 435, 436, 438, 439, 440, 441, 443, 444, 445, 446, 449], "excluded_lines": [], "functions": {"configure_structlog": {"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": [44, 45, 48, 49, 51, 52, 55, 58, 66, 67, 68, 69, 71, 74, 75, 78, 87, 88, 91, 94, 95, 97, 99, 105, 108, 109, 110, 112, 117, 118, 119, 121], "excluded_lines": [], "start_line": 29}, "LoggingFormatter.__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": [128, 129, 130], "excluded_lines": [], "start_line": 127}, "LoggingFormatter.format": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [134, 145, 146, 147, 150, 151, 152, 155, 156, 159, 160, 163, 164, 166, 167, 169, 172, 173], "excluded_lines": [], "start_line": 132}, "get_logger": {"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": [186], "excluded_lines": [], "start_line": 176}, "get_standard_logger": {"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": [199, 202, 203, 206, 207, 209, 213, 214, 217, 218, 220, 225, 226, 227, 229], "excluded_lines": [], "start_line": 189}, "set_correlation_id": {"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": [243, 244, 246, 247, 248, 249], "excluded_lines": [], "start_line": 232}, "get_correlation_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [259], "excluded_lines": [], "start_line": 252}, "clear_correlation_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [266], "excluded_lines": [], "start_line": 262}, "set_request_metadata": {"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": [276, 277], "excluded_lines": [], "start_line": 269}, "clear_request_metadata": {"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": 280}, "LogContext.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [297, 298, 299, 300], "excluded_lines": [], "start_line": 296}, "LogContext.__enter__": {"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": [303, 304, 306, 307, 310, 311, 313], "excluded_lines": [], "start_line": 302}, "LogContext.__exit__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [316, 317], "excluded_lines": [], "start_line": 315}, "log_api_request": {"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": [339, 345, 346, 348, 349, 351, 353], "excluded_lines": [], "start_line": 320}, "log_conversion_event": {"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": [373, 379, 380, 382, 384], "excluded_lines": [], "start_line": 356}, "log_error_with_context": {"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": [402, 408, 409, 411, 413], "excluded_lines": [], "start_line": 387}, "_get_module_logger": {"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": [419], "excluded_lines": [], "start_line": 417}, "_LazyStructlogLogger.__getattr__": {"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": [429, 430, 431], "excluded_lines": [], "start_line": 428}, "_LazyStructlogLogger.__call__": {"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": [434, 435, 436], "excluded_lines": [], "start_line": 433}, "_LazyStructlogLogger.__repr__": {"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": [439, 440, 441], "excluded_lines": [], "start_line": 438}, "_LazyStructlogLogger.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [444, 445, 446], "excluded_lines": [], "start_line": 443}, "": {"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": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 24, 29, 124, 127, 132, 176, 189, 232, 252, 262, 269, 280, 287, 296, 302, 315, 320, 356, 387, 417, 423, 426, 428, 433, 438, 443, 449], "excluded_lines": [], "start_line": 1}}, "classes": {"LoggingFormatter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [128, 129, 130, 134, 145, 146, 147, 150, 151, 152, 155, 156, 159, 160, 163, 164, 166, 167, 169, 172, 173], "excluded_lines": [], "start_line": 124}, "LogContext": {"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": [297, 298, 299, 300, 303, 304, 306, 307, 310, 311, 313, 316, 317], "excluded_lines": [], "start_line": 287}, "_LazyStructlogLogger": {"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": [429, 430, 431, 434, 435, 436, 439, 440, 441, 444, 445, 446], "excluded_lines": [], "start_line": 423}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 116, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 116, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 24, 29, 44, 45, 48, 49, 51, 52, 55, 58, 66, 67, 68, 69, 71, 74, 75, 78, 87, 88, 91, 94, 95, 97, 99, 105, 108, 109, 110, 112, 117, 118, 119, 121, 124, 127, 132, 176, 186, 189, 199, 202, 203, 206, 207, 209, 213, 214, 217, 218, 220, 225, 226, 227, 229, 232, 243, 244, 246, 247, 248, 249, 252, 259, 262, 266, 269, 276, 277, 280, 284, 287, 296, 302, 315, 320, 339, 345, 346, 348, 349, 351, 353, 356, 373, 379, 380, 382, 384, 387, 402, 408, 409, 411, 413, 417, 419, 423, 426, 428, 433, 438, 443, 449], "excluded_lines": [], "start_line": 1}}}, "src/services/syntax_validator.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 184, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 184, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 16, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 38, 39, 40, 41, 45, 123, 126, 129, 130, 131, 132, 133, 135, 136, 145, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 159, 160, 161, 162, 163, 164, 166, 177, 179, 181, 183, 184, 187, 188, 189, 190, 191, 192, 201, 203, 204, 212, 214, 216, 217, 218, 219, 220, 221, 222, 224, 226, 229, 232, 233, 234, 235, 236, 244, 246, 247, 257, 258, 259, 260, 261, 269, 271, 272, 281, 284, 287, 288, 290, 302, 304, 305, 314, 316, 317, 319, 321, 325, 328, 329, 330, 331, 339, 340, 341, 349, 350, 351, 359, 360, 361, 369, 372, 373, 374, 375, 376, 386, 387, 388, 389, 390, 395, 396, 397, 407, 408, 417, 420, 423, 424, 426, 427, 429, 430, 432, 440, 443, 444, 446, 448, 449, 453, 454, 456, 457, 459, 460, 461, 462, 465, 475, 477, 478, 479, 480, 481, 490, 491, 494, 505, 507, 508, 509, 510, 511, 520, 521, 524, 534, 535, 536, 537, 538], "excluded_lines": [], "functions": {"SyntaxError.__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": [129, 130, 131, 132, 133], "excluded_lines": [], "start_line": 126}, "SyntaxError.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": [136], "excluded_lines": [], "start_line": 135}, "JavaScriptSyntaxValidator.__init__": {"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": [149, 150, 151, 152, 153, 154, 155, 156, 157, 159, 160, 161, 162, 163, 164], "excluded_lines": [], "start_line": 148}, "JavaScriptSyntaxValidator.validate": {"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": [177, 179, 181, 183, 184, 187, 188, 189, 190, 191, 192, 201, 203, 204, 212], "excluded_lines": [], "start_line": 166}, "JavaScriptSyntaxValidator._find_error_node": {"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": [216, 217, 218, 219, 220, 221, 222], "excluded_lines": [], "start_line": 214}, "JavaScriptSyntaxValidator._basic_syntax_check": {"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": [226, 229, 232, 233, 234, 235, 236, 244, 246, 247, 257, 258, 259, 260, 261, 269, 271, 272, 281], "excluded_lines": [], "start_line": 224}, "JSONSchemaValidator.__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": [288], "excluded_lines": [], "start_line": 287}, "JSONSchemaValidator.validate": {"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": [302, 304, 305, 314, 316, 317, 319], "excluded_lines": [], "start_line": 290}, "JSONSchemaValidator._validate_object": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [325, 328, 329, 330, 331, 339, 340, 341, 349, 350, 351, 359, 360, 361, 369, 372, 373, 374, 375, 376, 386, 387, 388, 389, 390, 395, 396, 397, 407, 408, 417], "excluded_lines": [], "start_line": 321}, "SyntaxAutoFix.fix_missing_semicolons": {"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": [426, 427, 429, 430, 432, 440, 443, 444, 446], "excluded_lines": [], "start_line": 424}, "SyntaxAutoFix.fix_missing_commas": {"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": [453, 454], "excluded_lines": [], "start_line": 449}, "SyntaxAutoFix.fix_unmatched_braces": {"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": [459, 460, 461, 462], "excluded_lines": [], "start_line": 457}, "validate_javascript_file": {"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": [475, 477, 478, 479, 480, 481, 490, 491], "excluded_lines": [], "start_line": 465}, "validate_json_file": {"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": [505, 507, 508, 509, 510, 511, 520, 521], "excluded_lines": [], "start_line": 494}, "auto_fix_javascript": {"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": [534, 535, 536, 537, 538], "excluded_lines": [], "start_line": 524}, "": {"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": [11, 12, 13, 14, 16, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 38, 39, 40, 41, 45, 123, 126, 135, 145, 148, 166, 214, 224, 284, 287, 290, 321, 420, 423, 424, 448, 449, 456, 457, 465, 494, 524], "excluded_lines": [], "start_line": 1}}, "classes": {"SyntaxError": {"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": [129, 130, 131, 132, 133, 136], "excluded_lines": [], "start_line": 123}, "JavaScriptSyntaxValidator": {"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": [149, 150, 151, 152, 153, 154, 155, 156, 157, 159, 160, 161, 162, 163, 164, 177, 179, 181, 183, 184, 187, 188, 189, 190, 191, 192, 201, 203, 204, 212, 216, 217, 218, 219, 220, 221, 222, 226, 229, 232, 233, 234, 235, 236, 244, 246, 247, 257, 258, 259, 260, 261, 269, 271, 272, 281], "excluded_lines": [], "start_line": 145}, "JSONSchemaValidator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [288, 302, 304, 305, 314, 316, 317, 319, 325, 328, 329, 330, 331, 339, 340, 341, 349, 350, 351, 359, 360, 361, 369, 372, 373, 374, 375, 376, 386, 387, 388, 389, 390, 395, 396, 397, 407, 408, 417], "excluded_lines": [], "start_line": 284}, "SyntaxAutoFix": {"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": [426, 427, 429, 430, 432, 440, 443, 444, 446, 453, 454, 459, 460, 461, 462], "excluded_lines": [], "start_line": 420}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 13, 14, 16, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 36, 37, 38, 39, 40, 41, 45, 123, 126, 135, 145, 148, 166, 214, 224, 284, 287, 290, 321, 420, 423, 424, 448, 449, 456, 457, 465, 475, 477, 478, 479, 480, 481, 490, 491, 494, 505, 507, 508, 509, 510, 511, 520, 521, 524, 534, 535, 536, 537, 538], "excluded_lines": [], "start_line": 1}}}, "src/services/task_queue.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 184, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 184, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 26, 27, 28, 29, 32, 35, 36, 37, 38, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 75, 81, 87, 88, 89, 90, 91, 94, 101, 103, 104, 106, 108, 109, 110, 112, 114, 115, 116, 118, 137, 139, 148, 155, 156, 158, 160, 162, 170, 173, 179, 182, 184, 185, 190, 192, 193, 194, 206, 207, 209, 211, 212, 214, 216, 218, 220, 221, 222, 223, 224, 225, 227, 229, 231, 243, 245, 246, 247, 249, 250, 252, 253, 255, 257, 258, 259, 262, 263, 265, 267, 268, 271, 272, 274, 276, 277, 279, 281, 283, 284, 285, 287, 288, 289, 291, 294, 295, 297, 298, 300, 302, 304, 306, 307, 308, 309, 311, 315, 318, 319, 320, 322, 323, 324, 325, 326, 327, 328, 330, 332, 334, 336, 349, 350, 351, 352, 355, 356, 357, 359, 360, 361, 362, 363, 364, 365, 367, 371, 374, 378, 379, 380, 381, 383, 387, 391, 392, 395, 397, 398, 401, 403, 404, 407, 409, 410], "excluded_lines": [], "functions": {"Task.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": [59], "excluded_lines": [], "start_line": 58}, "AsyncTaskQueue.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [87, 88, 89, 90, 91, 94], "excluded_lines": [], "start_line": 81}, "AsyncTaskQueue.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [103, 104], "excluded_lines": [], "start_line": 101}, "AsyncTaskQueue.disconnect": {"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": [108, 109, 110], "excluded_lines": [], "start_line": 106}, "AsyncTaskQueue._get_redis": {"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": [114, 115, 116], "excluded_lines": [], "start_line": 112}, "AsyncTaskQueue.enqueue": {"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": [137, 139, 148, 155, 156, 158, 160], "excluded_lines": [], "start_line": 118}, "AsyncTaskQueue.dequeue": {"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": [170, 173, 179, 182, 184, 185, 190, 192, 193, 194, 206, 207, 209, 211, 212, 214], "excluded_lines": [], "start_line": 162}, "AsyncTaskQueue.complete": {"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": [218, 220, 221, 222, 223, 224, 225, 227, 229], "excluded_lines": [], "start_line": 216}, "AsyncTaskQueue.fail": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [243, 245, 246, 247, 249, 250, 252, 253, 255, 257, 258, 259, 262, 263, 265, 267, 268, 271, 272, 274, 276, 277], "excluded_lines": [], "start_line": 231}, "AsyncTaskQueue.cancel": {"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": [281, 283, 284, 285, 287, 288, 289, 291, 294, 295, 297, 298, 300], "excluded_lines": [], "start_line": 279}, "AsyncTaskQueue.get_status": {"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": [304, 306, 307, 308, 309], "excluded_lines": [], "start_line": 302}, "AsyncTaskQueue.list_tasks": {"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": [315, 318, 319, 320, 322, 323, 324, 325, 326, 327, 328, 330], "excluded_lines": [], "start_line": 311}, "AsyncTaskQueue.get_queue_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [334, 336, 349, 350, 351, 352, 355, 356, 357, 359, 360, 361, 362, 363, 364, 365, 367], "excluded_lines": [], "start_line": 332}, "get_task_queue": {"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": [378, 379, 380, 381, 383], "excluded_lines": [], "start_line": 374}, "enqueue_task": {"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": [391, 392], "excluded_lines": [], "start_line": 387}, "get_task_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [397, 398], "excluded_lines": [], "start_line": 395}, "cancel_task": {"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": [403, 404], "excluded_lines": [], "start_line": 401}, "get_queue_stats": {"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": [409, 410], "excluded_lines": [], "start_line": 407}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 26, 27, 28, 29, 32, 35, 36, 37, 38, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 75, 81, 101, 106, 112, 118, 162, 216, 231, 279, 302, 311, 332, 371, 374, 387, 395, 401, 407], "excluded_lines": [], "start_line": 1}}, "classes": {"TaskStatus": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22}, "TaskPriority": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "Task": {"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": [59], "excluded_lines": [], "start_line": 42}, "AsyncTaskQueue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 115, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 115, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [87, 88, 89, 90, 91, 94, 103, 104, 108, 109, 110, 114, 115, 116, 137, 139, 148, 155, 156, 158, 160, 170, 173, 179, 182, 184, 185, 190, 192, 193, 194, 206, 207, 209, 211, 212, 214, 218, 220, 221, 222, 223, 224, 225, 227, 229, 243, 245, 246, 247, 249, 250, 252, 253, 255, 257, 258, 259, 262, 263, 265, 267, 268, 271, 272, 274, 276, 277, 281, 283, 284, 285, 287, 288, 289, 291, 294, 295, 297, 298, 300, 304, 306, 307, 308, 309, 315, 318, 319, 320, 322, 323, 324, 325, 326, 327, 328, 330, 334, 336, 349, 350, 351, 352, 355, 356, 357, 359, 360, 361, 362, 363, 364, 365, 367], "excluded_lines": [], "start_line": 75}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 22, 25, 26, 27, 28, 29, 32, 35, 36, 37, 38, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 75, 81, 101, 106, 112, 118, 162, 216, 231, 279, 302, 311, 332, 371, 374, 378, 379, 380, 381, 383, 387, 391, 392, 395, 397, 398, 401, 403, 404, 407, 409, 410], "excluded_lines": [], "start_line": 1}}}, "src/services/task_queue_enhanced.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 370, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 370, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 27, 30, 33, 34, 35, 36, 37, 38, 39, 42, 52, 53, 54, 55, 58, 59, 71, 72, 73, 74, 75, 77, 79, 80, 82, 84, 85, 86, 90, 91, 97, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 141, 142, 144, 169, 170, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, 201, 221, 228, 229, 230, 231, 232, 233, 236, 244, 247, 250, 252, 254, 255, 257, 259, 260, 261, 263, 265, 266, 267, 269, 294, 296, 308, 315, 316, 317, 320, 322, 324, 326, 334, 337, 343, 346, 347, 349, 350, 353, 354, 355, 358, 360, 361, 362, 365, 366, 369, 370, 373, 375, 376, 378, 380, 382, 384, 385, 386, 387, 388, 389, 392, 393, 394, 395, 397, 400, 403, 405, 407, 426, 428, 429, 430, 432, 433, 434, 436, 437, 440, 442, 444, 445, 447, 448, 449, 450, 453, 454, 456, 459, 462, 464, 467, 470, 471, 472, 474, 476, 477, 479, 480, 482, 483, 485, 488, 490, 492, 499, 500, 503, 505, 506, 508, 511, 512, 513, 514, 517, 518, 521, 522, 523, 525, 527, 528, 530, 532, 545, 547, 549, 550, 551, 552, 553, 555, 557, 567, 569, 570, 571, 573, 574, 577, 580, 581, 582, 583, 584, 585, 588, 589, 590, 592, 593, 595, 597, 599, 601, 602, 603, 605, 606, 607, 609, 612, 613, 614, 616, 617, 618, 620, 622, 624, 626, 627, 628, 629, 631, 635, 638, 639, 640, 642, 643, 644, 645, 646, 647, 648, 649, 650, 652, 654, 661, 662, 663, 665, 667, 668, 669, 672, 673, 674, 675, 676, 677, 682, 685, 688, 689, 690, 691, 694, 695, 696, 697, 700, 701, 705, 706, 708, 709, 711, 712, 714, 715, 717, 718, 719, 720, 722, 724, 726, 727, 729, 731, 732, 734, 736, 737, 739, 749, 750, 751, 753, 754, 755, 756, 757, 759, 760, 761, 762, 763, 765, 766, 767, 768, 769, 770, 771, 773, 774, 776, 780, 783, 787, 788, 789, 790, 792, 796, 803, 804, 807, 809, 810, 813, 815, 816, 819, 821, 822, 825, 827, 828], "excluded_lines": [], "functions": {"RetryPolicy.calculate_delay": {"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": [79, 80], "excluded_lines": [], "start_line": 77}, "RetryPolicy.should_retry": {"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": [84, 85, 86], "excluded_lines": [], "start_line": 82}, "Task.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": [123], "excluded_lines": [], "start_line": 122}, "Task.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": [144], "excluded_lines": [], "start_line": 142}, "QueueHealth.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": [186], "excluded_lines": [], "start_line": 185}, "AsyncTaskQueue.__init__": {"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": [228, 229, 230, 231, 232, 233, 236, 244, 247, 250], "excluded_lines": [], "start_line": 221}, "AsyncTaskQueue.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [254, 255], "excluded_lines": [], "start_line": 252}, "AsyncTaskQueue.disconnect": {"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": [259, 260, 261], "excluded_lines": [], "start_line": 257}, "AsyncTaskQueue._get_redis": {"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": [265, 266, 267], "excluded_lines": [], "start_line": 263}, "AsyncTaskQueue.enqueue": {"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": [294, 296, 308, 315, 316, 317, 320, 322, 324], "excluded_lines": [], "start_line": 269}, "AsyncTaskQueue.dequeue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [334, 337, 343, 346, 347, 349, 350, 353, 354, 355, 358, 360, 361, 362, 365, 366, 369, 370, 373, 375, 376, 378], "excluded_lines": [], "start_line": 326}, "AsyncTaskQueue.complete": {"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": [382, 384, 385, 386, 387, 388, 389, 392, 393, 394, 395, 397, 400, 403, 405], "excluded_lines": [], "start_line": 380}, "AsyncTaskQueue.fail": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [426, 428, 429, 430, 432, 433, 434, 436, 437, 440, 442, 444, 445, 447, 448, 449, 450, 453, 454, 456, 459, 462, 464, 467, 470, 471, 472, 474, 476, 477, 479, 480, 482, 483, 485, 488, 490], "excluded_lines": [], "start_line": 407}, "AsyncTaskQueue.process_retry_queue": {"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": [499, 500, 503, 505, 506, 508, 511, 512, 513, 514, 517, 518, 521, 522, 523, 525, 527, 528, 530], "excluded_lines": [], "start_line": 492}, "AsyncTaskQueue.get_dead_letter_tasks": {"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": [545, 547, 549, 550, 551, 552, 553, 555], "excluded_lines": [], "start_line": 532}, "AsyncTaskQueue.reprocess_dead_letter_task": {"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": [567, 569, 570, 571, 573, 574, 577, 580, 581, 582, 583, 584, 585, 588, 589, 590, 592, 593, 595], "excluded_lines": [], "start_line": 557}, "AsyncTaskQueue.cancel": {"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": [599, 601, 602, 603, 605, 606, 607, 609, 612, 613, 614, 616, 617, 618, 620], "excluded_lines": [], "start_line": 597}, "AsyncTaskQueue.get_status": {"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": [624, 626, 627, 628, 629], "excluded_lines": [], "start_line": 622}, "AsyncTaskQueue.list_tasks": {"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": [635, 638, 639, 640, 642, 643, 644, 645, 646, 647, 648, 649, 650, 652], "excluded_lines": [], "start_line": 631}, "AsyncTaskQueue.get_queue_health": {"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": [661, 662, 663, 665, 667, 668, 669, 672, 673, 674, 675, 676, 677, 682, 685, 688, 689, 690, 691, 694, 695, 696, 697, 700, 701, 705, 706, 708, 709, 711, 712, 714, 715, 717, 718, 719, 720, 722], "excluded_lines": [], "start_line": 654}, "AsyncTaskQueue.get_queue_stats": {"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": [726, 727], "excluded_lines": [], "start_line": 724}, "AsyncTaskQueue._increment_metric": {"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": [731, 732], "excluded_lines": [], "start_line": 729}, "AsyncTaskQueue._record_processing_time": {"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": [736, 737], "excluded_lines": [], "start_line": 734}, "AsyncTaskQueue.cleanup_old_tasks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [749, 750, 751, 753, 754, 755, 756, 757, 759, 760, 761, 762, 763, 765, 766, 767, 768, 769, 770, 771, 773, 774, 776], "excluded_lines": [], "start_line": 739}, "get_task_queue": {"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": [787, 788, 789, 790, 792], "excluded_lines": [], "start_line": 783}, "enqueue_task": {"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": [803, 804], "excluded_lines": [], "start_line": 796}, "get_task_status": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [809, 810], "excluded_lines": [], "start_line": 807}, "cancel_task": {"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": [815, 816], "excluded_lines": [], "start_line": 813}, "get_queue_stats": {"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": [821, 822], "excluded_lines": [], "start_line": 819}, "get_queue_health": {"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": [827, 828], "excluded_lines": [], "start_line": 825}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 99, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 99, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 27, 30, 33, 34, 35, 36, 37, 38, 39, 42, 52, 53, 54, 55, 58, 59, 71, 72, 73, 74, 75, 77, 82, 90, 91, 97, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 141, 142, 169, 170, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 185, 201, 221, 252, 257, 263, 269, 326, 380, 407, 492, 532, 557, 597, 622, 631, 654, 724, 729, 734, 739, 780, 783, 796, 807, 813, 819, 825], "excluded_lines": [], "start_line": 1}}, "classes": {"TaskStatus": {"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": 30}, "TaskPriority": {"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": 42}, "RetryPolicy": {"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": [79, 80, 84, 85, 86], "excluded_lines": [], "start_line": 59}, "Task": {"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": [123, 144], "excluded_lines": [], "start_line": 101}, "QueueHealth": {"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": [186], "excluded_lines": [], "start_line": 170}, "AsyncTaskQueue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 248, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 248, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [228, 229, 230, 231, 232, 233, 236, 244, 247, 250, 254, 255, 259, 260, 261, 265, 266, 267, 294, 296, 308, 315, 316, 317, 320, 322, 324, 334, 337, 343, 346, 347, 349, 350, 353, 354, 355, 358, 360, 361, 362, 365, 366, 369, 370, 373, 375, 376, 378, 382, 384, 385, 386, 387, 388, 389, 392, 393, 394, 395, 397, 400, 403, 405, 426, 428, 429, 430, 432, 433, 434, 436, 437, 440, 442, 444, 445, 447, 448, 449, 450, 453, 454, 456, 459, 462, 464, 467, 470, 471, 472, 474, 476, 477, 479, 480, 482, 483, 485, 488, 490, 499, 500, 503, 505, 506, 508, 511, 512, 513, 514, 517, 518, 521, 522, 523, 525, 527, 528, 530, 545, 547, 549, 550, 551, 552, 553, 555, 567, 569, 570, 571, 573, 574, 577, 580, 581, 582, 583, 584, 585, 588, 589, 590, 592, 593, 595, 599, 601, 602, 603, 605, 606, 607, 609, 612, 613, 614, 616, 617, 618, 620, 624, 626, 627, 628, 629, 635, 638, 639, 640, 642, 643, 644, 645, 646, 647, 648, 649, 650, 652, 661, 662, 663, 665, 667, 668, 669, 672, 673, 674, 675, 676, 677, 682, 685, 688, 689, 690, 691, 694, 695, 696, 697, 700, 701, 705, 706, 708, 709, 711, 712, 714, 715, 717, 718, 719, 720, 722, 726, 727, 731, 732, 736, 737, 749, 750, 751, 753, 754, 755, 756, 757, 759, 760, 761, 762, 763, 765, 766, 767, 768, 769, 770, 771, 773, 774, 776], "excluded_lines": [], "start_line": 201}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 114, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 114, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 27, 30, 33, 34, 35, 36, 37, 38, 39, 42, 52, 53, 54, 55, 58, 59, 71, 72, 73, 74, 75, 77, 82, 90, 91, 97, 100, 101, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 141, 142, 169, 170, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 185, 201, 221, 252, 257, 263, 269, 326, 380, 407, 492, 532, 557, 597, 622, 631, 654, 724, 729, 734, 739, 780, 783, 787, 788, 789, 790, 792, 796, 803, 804, 807, 809, 810, 813, 815, 816, 819, 821, 822, 825, 827, 828], "excluded_lines": [], "start_line": 1}}}, "src/services/task_worker.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 100, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 100, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 14, 17, 23, 24, 25, 26, 27, 28, 29, 31, 33, 34, 36, 38, 39, 41, 42, 43, 46, 49, 52, 53, 55, 56, 57, 60, 61, 63, 65, 67, 68, 70, 72, 74, 75, 77, 80, 82, 83, 84, 85, 86, 87, 89, 91, 93, 96, 97, 98, 100, 102, 104, 105, 108, 109, 112, 113, 117, 118, 122, 124, 125, 127, 130, 132, 139, 141, 143, 146, 148, 152, 154, 156, 162, 165, 168, 169, 172, 174, 175, 176, 179, 180, 181, 182, 183, 185, 188, 190, 192, 193, 194, 195, 197, 200, 201], "excluded_lines": [], "functions": {"TaskWorker.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [24, 25, 26, 27, 28, 29], "excluded_lines": [], "start_line": 23}, "TaskWorker.register_handler": {"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": [33, 34], "excluded_lines": [], "start_line": 31}, "TaskWorker.process_task": {"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": [38, 39, 41, 42, 43, 46, 49, 52, 53, 55, 56, 57, 60, 61], "excluded_lines": [], "start_line": 36}, "TaskWorker.worker_loop": {"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": [65, 67, 68, 70, 72, 74, 75, 77, 80, 82, 83, 84, 85, 86, 87, 89], "excluded_lines": [], "start_line": 63}, "TaskWorker.start": {"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": [93, 96, 97, 98, 100], "excluded_lines": [], "start_line": 91}, "TaskWorker.stop": {"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": [104, 105, 108, 109, 112, 113, 117, 118], "excluded_lines": [], "start_line": 102}, "handle_conversion_task": {"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": [124, 125, 127, 130, 132], "excluded_lines": [], "start_line": 122}, "handle_asset_conversion_task": {"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": [141, 143, 146, 148], "excluded_lines": [], "start_line": 139}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [154, 156, 162, 165, 168, 169, 172, 174, 179, 180, 181, 182, 183, 185, 188, 190, 192, 193, 194, 195, 197], "excluded_lines": [], "start_line": 152}, "main.signal_handler": {"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": [175, 176], "excluded_lines": [], "start_line": 174}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 14, 17, 23, 31, 36, 63, 91, 102, 122, 139, 152, 200, 201], "excluded_lines": [], "start_line": 1}}, "classes": {"TaskWorker": {"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": [24, 25, 26, 27, 28, 29, 33, 34, 38, 39, 41, 42, 43, 46, 49, 52, 53, 55, 56, 57, 60, 61, 65, 67, 68, 70, 72, 74, 75, 77, 80, 82, 83, 84, 85, 86, 87, 89, 93, 96, 97, 98, 100, 104, 105, 108, 109, 112, 113, 117, 118], "excluded_lines": [], "start_line": 17}, "": {"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": [8, 9, 10, 12, 14, 17, 23, 31, 36, 63, 91, 102, 122, 124, 125, 127, 130, 132, 139, 141, 143, 146, 148, 152, 154, 156, 162, 165, 168, 169, 172, 174, 175, 176, 179, 180, 181, 182, 183, 185, 188, 190, 192, 193, 194, 195, 197, 200, 201], "excluded_lines": [], "start_line": 1}}}, "src/services/tracing.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 173, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 173, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 37, 40, 41, 43, 46, 47, 49, 56, 59, 60, 61, 64, 66, 69, 71, 74, 76, 79, 81, 84, 86, 89, 91, 94, 96, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 118, 121, 123, 124, 128, 129, 130, 131, 134, 136, 137, 141, 142, 143, 144, 147, 156, 157, 158, 160, 162, 165, 168, 171, 172, 173, 174, 175, 177, 178, 179, 180, 181, 184, 185, 186, 189, 192, 195, 196, 199, 202, 204, 205, 207, 208, 212, 214, 215, 216, 217, 218, 221, 223, 224, 225, 226, 227, 230, 232, 233, 234, 235, 236, 239, 248, 250, 252, 255, 271, 273, 274, 276, 278, 281, 289, 290, 291, 292, 295, 303, 304, 305, 308, 315, 316, 319, 329, 330, 333, 343, 346, 353, 356, 363, 364, 365, 366, 367, 368, 371, 378, 379, 380, 381, 382, 383, 386, 390, 391, 392, 393], "excluded_lines": [], "functions": {"get_service_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [66], "excluded_lines": [], "start_line": 64}, "get_service_version": {"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": 69}, "get_tracing_exporter": {"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": [76], "excluded_lines": [], "start_line": 74}, "get_jaeger_host": {"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": [81], "excluded_lines": [], "start_line": 79}, "get_jaeger_port": {"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": [86], "excluded_lines": [], "start_line": 84}, "get_otlp_endpoint": {"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": 89}, "_create_resource": {"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": [96, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 118], "excluded_lines": [], "start_line": 94}, "_setup_jaeger_exporter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [123, 124, 128, 129, 130, 131], "excluded_lines": [], "start_line": 121}, "_setup_otlp_exporter": {"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": [136, 137, 141, 142, 143, 144], "excluded_lines": [], "start_line": 134}, "init_tracing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [156, 157, 158, 160, 162, 165, 168, 171, 172, 173, 174, 175, 177, 178, 179, 180, 181, 184, 185, 186, 189, 192, 195, 196, 199, 202, 204, 205, 207, 208], "excluded_lines": [], "start_line": 147}, "_instrument_fastapi": {"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": [214, 215, 216, 217, 218], "excluded_lines": [], "start_line": 212}, "_instrument_httpx": {"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": [223, 224, 225, 226, 227], "excluded_lines": [], "start_line": 221}, "_instrument_redis": {"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": [232, 233, 234, 235, 236], "excluded_lines": [], "start_line": 230}, "get_tracer": {"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": [248, 250, 252], "excluded_lines": [], "start_line": 239}, "create_span": {"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": [271, 273, 274, 276, 278], "excluded_lines": [], "start_line": 255}, "add_span_attributes": {"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": [289, 290, 291, 292], "excluded_lines": [], "start_line": 281}, "record_span_exception": {"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": [303, 304, 305], "excluded_lines": [], "start_line": 295}, "end_span": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [315, 316], "excluded_lines": [], "start_line": 308}, "inject_trace_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": [329, 330], "excluded_lines": [], "start_line": 319}, "extract_trace_context": {"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": [343], "excluded_lines": [], "start_line": 333}, "get_current_span": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [353], "excluded_lines": [], "start_line": 346}, "get_trace_id": {"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": [363, 364, 365, 366, 367, 368], "excluded_lines": [], "start_line": 356}, "get_span_id": {"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": [378, 379, 380, 381, 382, 383], "excluded_lines": [], "start_line": 371}, "shutdown_tracing": {"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": [390, 391, 392, 393], "excluded_lines": [], "start_line": 386}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 37, 40, 41, 43, 46, 47, 49, 56, 59, 60, 61, 64, 69, 74, 79, 84, 89, 94, 121, 134, 147, 212, 221, 230, 239, 255, 281, 295, 308, 319, 333, 346, 356, 371, 386], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 173, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 173, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 37, 40, 41, 43, 46, 47, 49, 56, 59, 60, 61, 64, 66, 69, 71, 74, 76, 79, 81, 84, 86, 89, 91, 94, 96, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 118, 121, 123, 124, 128, 129, 130, 131, 134, 136, 137, 141, 142, 143, 144, 147, 156, 157, 158, 160, 162, 165, 168, 171, 172, 173, 174, 175, 177, 178, 179, 180, 181, 184, 185, 186, 189, 192, 195, 196, 199, 202, 204, 205, 207, 208, 212, 214, 215, 216, 217, 218, 221, 223, 224, 225, 226, 227, 230, 232, 233, 234, 235, 236, 239, 248, 250, 252, 255, 271, 273, 274, 276, 278, 281, 289, 290, 291, 292, 295, 303, 304, 305, 308, 315, 316, 319, 329, 330, 333, 343, 346, 353, 356, 363, 364, 365, 366, 367, 368, 371, 378, 379, 380, 381, 382, 383, 386, 390, 391, 392, 393], "excluded_lines": [], "start_line": 1}}}, "src/services/user_preferences.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 137, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 137, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 17, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 42, 44, 45, 46, 47, 48, 51, 54, 55, 56, 57, 58, 59, 60, 67, 75, 76, 77, 78, 80, 82, 83, 85, 87, 88, 89, 90, 92, 94, 95, 96, 98, 101, 102, 104, 110, 111, 112, 114, 121, 122, 123, 125, 126, 128, 135, 145, 146, 148, 150, 152, 154, 156, 171, 173, 175, 178, 179, 180, 182, 183, 185, 187, 203, 211, 214, 216, 217, 219, 220, 221, 224, 225, 227, 228, 230, 235, 242, 243, 245, 248, 249, 251, 252, 254, 255, 256, 257, 259, 261, 276, 278, 279, 282, 283, 286, 288, 289, 290, 291, 292, 293, 295, 296, 297, 298, 300, 302, 308, 310, 312, 314, 315, 321, 333, 336, 339, 340, 341], "excluded_lines": [], "functions": {"UserPreferenceProfile.success_rate": {"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": 45}, "InMemoryPreferenceStore.__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": [76, 77, 78], "excluded_lines": [], "start_line": 75}, "InMemoryPreferenceStore.get_preferences": {"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": [82, 83], "excluded_lines": [], "start_line": 80}, "InMemoryPreferenceStore.save_preferences": {"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": [87, 88, 89, 90], "excluded_lines": [], "start_line": 85}, "InMemoryPreferenceStore.add_history": {"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": [94, 95, 96, 98, 101, 102], "excluded_lines": [], "start_line": 92}, "InMemoryPreferenceStore.get_history": {"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": [110, 111, 112], "excluded_lines": [], "start_line": 104}, "InMemoryPreferenceStore.get_successful_history": {"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": [121, 122, 123, 125, 126, 128], "excluded_lines": [], "start_line": 114}, "UserPreferencesService.__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": [146], "excluded_lines": [], "start_line": 145}, "UserPreferencesService.get_preferences": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [150], "excluded_lines": [], "start_line": 148}, "UserPreferencesService.save_preferences": {"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": [154], "excluded_lines": [], "start_line": 152}, "UserPreferencesService.update_preferences": {"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": [171, 173, 175, 178, 179, 180, 182, 183, 185], "excluded_lines": [], "start_line": 156}, "UserPreferencesService.learn_from_conversion": {"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": [203, 211, 214, 216, 217, 219, 220, 221, 224, 225, 227, 228, 230], "excluded_lines": [], "start_line": 187}, "UserPreferencesService._learn_mode_preferences": {"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": [242, 243, 245, 248, 249, 251, 252, 254, 255, 256, 257, 259], "excluded_lines": [], "start_line": 235}, "UserPreferencesService.get_personalized_defaults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [276, 278, 279, 282, 283, 286, 288, 289, 290, 291, 292, 293, 295, 296, 297, 298, 300], "excluded_lines": [], "start_line": 261}, "UserPreferencesService.get_conversion_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": [308], "excluded_lines": [], "start_line": 302}, "UserPreferencesService.get_user_stats": {"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": [312, 314, 315, 321], "excluded_lines": [], "start_line": 310}, "get_user_preferences_service": {"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": [339, 340, 341], "excluded_lines": [], "start_line": 336}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [10, 11, 12, 13, 14, 17, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 42, 44, 45, 51, 54, 55, 56, 57, 58, 59, 60, 67, 75, 80, 85, 92, 104, 114, 135, 145, 148, 152, 156, 187, 235, 261, 302, 310, 333, 336], "excluded_lines": [], "start_line": 1}}, "classes": {"UserPreferenceProfile": {"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": 24}, "ConversionHistoryEntry": {"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": 51}, "InMemoryPreferenceStore": {"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": [76, 77, 78, 82, 83, 87, 88, 89, 90, 94, 95, 96, 98, 101, 102, 110, 111, 112, 121, 122, 123, 125, 126, 128], "excluded_lines": [], "start_line": 67}, "UserPreferencesService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [146, 150, 154, 171, 173, 175, 178, 179, 180, 182, 183, 185, 203, 211, 214, 216, 217, 219, 220, 221, 224, 225, 227, 228, 230, 242, 243, 245, 248, 249, 251, 252, 254, 255, 256, 257, 259, 276, 278, 279, 282, 283, 286, 288, 289, 290, 291, 292, 293, 295, 296, 297, 298, 300, 308, 312, 314, 315, 321], "excluded_lines": [], "start_line": 135}, "": {"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": [10, 11, 12, 13, 14, 17, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 42, 44, 45, 51, 54, 55, 56, 57, 58, 59, 60, 67, 75, 80, 85, 92, 104, 114, 135, 145, 148, 152, 156, 187, 235, 261, 302, 310, 333, 336, 339, 340, 341], "excluded_lines": [], "start_line": 1}}}, "src/setup.py": {"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": [1, 3], "excluded_lines": [], "functions": {"": {"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": [1, 3], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [1, 3], "excluded_lines": [], "start_line": 1}}}, "src/utils/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1}}}, "src/utils/debt_cli.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 14, 15, 16, 18, 19, 21, 23, 26, 27, 29, 32, 33, 39, 44, 50, 52, 54, 55, 57, 58, 59, 61, 62, 63, 65, 67, 68, 75, 83, 86, 87, 93, 98, 100, 102, 103, 105, 106, 108, 110, 111, 113, 116, 117, 123, 125, 127, 128, 130, 132, 133, 134, 136, 138, 139, 140, 143, 144, 145, 151, 153, 155, 156, 158, 160, 161, 162, 164, 166, 167, 168, 169, 170, 173, 174, 180, 182, 184, 185, 187, 189, 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 207, 209, 210, 211, 215, 218, 219], "excluded_lines": [], "functions": {"cli": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [29], "excluded_lines": [], "start_line": 27}, "scan": {"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": [52, 54, 55, 57, 58, 59, 61, 62, 63, 65, 67, 68, 75, 83], "excluded_lines": [], "start_line": 50}, "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": [100, 102, 103, 105, 106, 108, 110, 111, 113], "excluded_lines": [], "start_line": 98}, "critical": {"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": [125, 127, 128, 130, 132, 133, 134, 136, 138, 139, 140], "excluded_lines": [], "start_line": 123}, "issue": {"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": [153, 155, 156, 158, 160, 161, 162, 164, 166, 167, 168, 169, 170], "excluded_lines": [], "start_line": 151}, "summary": {"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": [182, 184, 185, 187, 189, 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 207, 209, 210, 211, 215], "excluded_lines": [], "start_line": 180}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 14, 15, 16, 18, 19, 21, 23, 26, 27, 32, 33, 39, 44, 50, 86, 87, 93, 98, 116, 117, 123, 143, 144, 145, 151, 173, 174, 180, 218, 219], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [12, 14, 15, 16, 18, 19, 21, 23, 26, 27, 29, 32, 33, 39, 44, 50, 52, 54, 55, 57, 58, 59, 61, 62, 63, 65, 67, 68, 75, 83, 86, 87, 93, 98, 100, 102, 103, 105, 106, 108, 110, 111, 113, 116, 117, 123, 125, 127, 128, 130, 132, 133, 134, 136, 138, 139, 140, 143, 144, 145, 151, 153, 155, 156, 158, 160, 161, 162, 164, 166, 167, 168, 169, 170, 173, 174, 180, 182, 184, 185, 187, 189, 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 207, 209, 210, 211, 215, 218, 219], "excluded_lines": [], "start_line": 1}}}, "src/utils/debt_tracker.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 164, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 164, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 20, 21, 22, 23, 24, 25, 27, 29, 32, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 74, 76, 78, 79, 85, 89, 94, 100, 101, 103, 112, 113, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 128, 131, 132, 134, 144, 146, 148, 162, 170, 171, 173, 174, 176, 177, 179, 180, 182, 188, 189, 196, 203, 205, 206, 209, 210, 213, 214, 215, 216, 217, 219, 221, 227, 229, 238, 240, 241, 250, 252, 253, 254, 257, 259, 260, 269, 271, 272, 273, 276, 278, 279, 290, 291, 293, 294, 295, 296, 298, 300, 309, 310, 311, 313, 314, 316, 317, 318, 319, 320, 321, 323, 324, 325, 326, 328, 330, 331, 336, 337, 338, 339, 340, 342, 345, 351, 352, 353, 355, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 368, 370, 371, 372, 374], "excluded_lines": [], "functions": {"DebtItem.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": [72], "excluded_lines": [], "start_line": 70}, "DebtItem.github_issue_link": {"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": [76], "excluded_lines": [], "start_line": 74}, "DebtItem.__str__": {"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": [79], "excluded_lines": [], "start_line": 78}, "DebtTracker.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [100, 101], "excluded_lines": [], "start_line": 94}, "DebtTracker.scan_file": {"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": [112, 113, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 128, 131, 132, 134, 144, 146], "excluded_lines": [], "start_line": 103}, "DebtTracker.scan_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [162, 170, 171, 173, 174, 176, 177, 179, 180], "excluded_lines": [], "start_line": 148}, "DebtTracker.get_summary": {"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": [188, 189, 196, 203, 205, 206, 209, 210, 213, 214, 215, 216, 217, 219], "excluded_lines": [], "start_line": 182}, "DebtTracker.get_critical_items": {"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": [227], "excluded_lines": [], "start_line": 221}, "DebtTracker.filter_by_issue": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [238], "excluded_lines": [], "start_line": 229}, "DebtTracker._parse_category": {"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": [250, 252, 253, 254, 257], "excluded_lines": [], "start_line": 241}, "DebtTracker._parse_severity": {"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": [269, 271, 272, 273, 276], "excluded_lines": [], "start_line": 260}, "DebtTracker._get_context": {"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": [290, 291, 293, 294, 295, 296, 298], "excluded_lines": [], "start_line": 279}, "DebtTracker.export_markdown": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [309, 310, 311, 313, 314, 316, 317, 318, 319, 320, 321, 323, 324, 325, 326, 328, 330, 331, 336, 337, 338, 339, 340, 342, 345, 351, 352, 353, 355, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 368, 370, 371, 372, 374], "excluded_lines": [], "start_line": 300}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 20, 21, 22, 23, 24, 25, 27, 29, 32, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 74, 78, 85, 89, 94, 103, 148, 182, 221, 229, 240, 241, 259, 260, 278, 279, 300], "excluded_lines": [], "start_line": 1}}, "classes": {"DebtSeverity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32}, "DebtCategory": {"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": 41}, "DebtItem": {"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": [72, 76, 79], "excluded_lines": [], "start_line": 56}, "DebtTracker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 107, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 107, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [100, 101, 112, 113, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 128, 131, 132, 134, 144, 146, 162, 170, 171, 173, 174, 176, 177, 179, 180, 188, 189, 196, 203, 205, 206, 209, 210, 213, 214, 215, 216, 217, 219, 227, 238, 250, 252, 253, 254, 257, 269, 271, 272, 273, 276, 290, 291, 293, 294, 295, 296, 298, 309, 310, 311, 313, 314, 316, 317, 318, 319, 320, 321, 323, 324, 325, 326, 328, 330, 331, 336, 337, 338, 339, 340, 342, 345, 351, 352, 353, 355, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 368, 370, 371, 372, 374], "excluded_lines": [], "start_line": 85}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 54, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [18, 20, 21, 22, 23, 24, 25, 27, 29, 32, 35, 36, 37, 38, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 74, 78, 85, 89, 94, 103, 148, 182, 221, 229, 240, 241, 259, 260, 278, 279, 300], "excluded_lines": [], "start_line": 1}}}, "src/utils/dependency_detector.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 280, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 280, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 14, 15, 18, 19, 22, 23, 24, 25, 28, 29, 32, 33, 34, 37, 38, 41, 42, 43, 44, 47, 50, 51, 52, 53, 54, 55, 56, 58, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 83, 84, 85, 86, 87, 89, 91, 92, 93, 94, 95, 97, 99, 100, 101, 102, 103, 105, 107, 108, 110, 112, 113, 115, 117, 118, 119, 121, 123, 125, 126, 128, 129, 137, 140, 142, 143, 144, 146, 147, 148, 150, 151, 153, 154, 158, 159, 160, 161, 162, 164, 167, 169, 170, 171, 173, 174, 178, 181, 186, 187, 188, 190, 191, 193, 194, 195, 196, 197, 198, 200, 203, 205, 206, 207, 208, 209, 211, 212, 213, 214, 216, 217, 219, 220, 221, 223, 226, 228, 229, 240, 241, 243, 245, 246, 247, 249, 252, 256, 257, 259, 260, 261, 263, 266, 268, 269, 271, 272, 273, 274, 275, 276, 278, 279, 280, 281, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 295, 298, 305, 306, 308, 311, 312, 313, 316, 317, 318, 321, 322, 323, 324, 327, 328, 330, 331, 335, 337, 343, 345, 346, 347, 348, 349, 351, 352, 353, 354, 355, 357, 365, 368, 388, 389, 391, 392, 394, 395, 407, 408, 419, 420, 421, 422, 425, 430, 431, 432, 434, 444, 447, 449, 450, 451, 452, 453, 455, 456, 457, 459, 461, 462, 463, 465, 468, 470, 472, 473, 479, 482, 483, 484, 486, 489, 492, 493, 495, 497, 498, 499, 500, 501, 503, 505, 506, 507, 508, 509, 511, 517, 520, 521, 523, 544, 545, 548, 549, 551, 554, 555], "excluded_lines": [], "functions": {"ImportVisitor.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [51, 52, 53, 54, 55, 56], "excluded_lines": [], "start_line": 50}, "ImportVisitor.visit_Import": {"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": [60, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 58}, "ImportVisitor.visit_ImportFrom": {"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": [71, 72, 73, 74, 75, 76, 77, 78, 79], "excluded_lines": [], "start_line": 69}, "ImportVisitor.visit_FunctionDef": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [83, 84, 85, 86, 87], "excluded_lines": [], "start_line": 81}, "ImportVisitor.visit_AsyncFunctionDef": {"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": [91, 92, 93, 94, 95], "excluded_lines": [], "start_line": 89}, "ImportVisitor.visit_ClassDef": {"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": [99, 100, 101, 102, 103], "excluded_lines": [], "start_line": 97}, "ImportVisitor.visit_Name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [107, 108], "excluded_lines": [], "start_line": 105}, "ImportVisitor.visit_Attribute": {"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": [112, 113], "excluded_lines": [], "start_line": 110}, "ImportVisitor.get_unused_imports": {"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": [117, 118, 119, 121, 123, 125, 126, 128, 129, 137], "excluded_lines": [], "start_line": 115}, "parse_requirements_file": {"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": [142, 143, 144, 146, 147, 148, 150, 151, 153, 154, 158, 159, 160, 161, 162, 164], "excluded_lines": [], "start_line": 140}, "parse_pyproject_dependencies": {"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": [169, 170, 171, 173, 174, 178, 181, 186, 187, 188, 190, 191, 193, 194, 195, 196, 197, 198, 200], "excluded_lines": [], "start_line": 167}, "scan_python_file": {"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": [205, 206, 207, 208, 209, 211, 212, 213, 214, 216, 217, 219, 220, 221, 223], "excluded_lines": [], "start_line": 203}, "find_python_files": {"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": [228, 229, 240, 241, 243, 245, 246, 247, 249], "excluded_lines": [], "start_line": 226}, "scan_directory_for_unused_imports": {"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": [256, 257, 259, 260, 261, 263], "excluded_lines": [], "start_line": 252}, "get_all_imported_modules": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [268, 269, 271, 272, 273, 274, 275, 276, 278, 279, 280, 281, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 295], "excluded_lines": [], "start_line": 266}, "find_unused_packages": {"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": [305, 306, 308, 311, 312, 313, 316, 317, 318, 321, 322, 323, 324, 327, 328, 330, 331, 335, 337, 343, 345, 346, 347, 348, 349, 351, 352, 353, 354, 355, 357, 365], "excluded_lines": [], "start_line": 298}, "analyze_dependencies": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [388, 389, 391, 392, 394, 395, 407, 408, 419, 420, 421, 422, 425, 430, 431, 432, 434], "excluded_lines": [], "start_line": 368}, "print_report": {"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": [447, 449, 450, 451, 452, 453, 455, 456, 457, 459, 461, 462, 463, 465], "excluded_lines": [], "start_line": 444}, "main": {"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": [470, 472, 473, 479, 482, 483, 484, 486, 489, 492, 493, 495, 497, 498, 499, 500, 501, 503, 505, 506, 507, 508, 509, 511, 517, 520, 521, 523, 544, 545, 548, 549, 551], "excluded_lines": [], "start_line": 468}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 14, 15, 18, 19, 22, 23, 24, 25, 28, 29, 32, 33, 34, 37, 38, 41, 42, 43, 44, 47, 50, 58, 69, 81, 89, 97, 105, 110, 115, 140, 167, 203, 226, 252, 266, 298, 368, 444, 468, 554, 555], "excluded_lines": [], "start_line": 1}}, "classes": {"UnusedImport": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "UnusedPackage": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "DependencyReport": {"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": 38}, "ImportVisitor": {"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": [51, 52, 53, 54, 55, 56, 60, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 83, 84, 85, 86, 87, 91, 92, 93, 94, 95, 99, 100, 101, 102, 103, 107, 108, 112, 113, 117, 118, 119, 121, 123, 125, 126, 128, 129, 137], "excluded_lines": [], "start_line": 47}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 230, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 230, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [9, 10, 11, 12, 13, 14, 15, 18, 19, 22, 23, 24, 25, 28, 29, 32, 33, 34, 37, 38, 41, 42, 43, 44, 47, 50, 58, 69, 81, 89, 97, 105, 110, 115, 140, 142, 143, 144, 146, 147, 148, 150, 151, 153, 154, 158, 159, 160, 161, 162, 164, 167, 169, 170, 171, 173, 174, 178, 181, 186, 187, 188, 190, 191, 193, 194, 195, 196, 197, 198, 200, 203, 205, 206, 207, 208, 209, 211, 212, 213, 214, 216, 217, 219, 220, 221, 223, 226, 228, 229, 240, 241, 243, 245, 246, 247, 249, 252, 256, 257, 259, 260, 261, 263, 266, 268, 269, 271, 272, 273, 274, 275, 276, 278, 279, 280, 281, 283, 284, 285, 286, 287, 289, 290, 291, 292, 293, 295, 298, 305, 306, 308, 311, 312, 313, 316, 317, 318, 321, 322, 323, 324, 327, 328, 330, 331, 335, 337, 343, 345, 346, 347, 348, 349, 351, 352, 353, 354, 355, 357, 365, 368, 388, 389, 391, 392, 394, 395, 407, 408, 419, 420, 421, 422, 425, 430, 431, 432, 434, 444, 447, 449, 450, 451, 452, 453, 455, 456, 457, 459, 461, 462, 463, 465, 468, 470, 472, 473, 479, 482, 483, 484, 486, 489, 492, 493, 495, 497, 498, 499, 500, 501, 503, 505, 506, 507, 508, 509, 511, 517, 520, 521, 523, 544, 545, 548, 549, 551, 554, 555], "excluded_lines": [], "start_line": 1}}}, "src/utils/logging_config.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 14, 17, 26, 36, 38, 44, 49, 58, 59, 61, 62, 63, 66, 67, 70, 80, 83, 94, 95, 96, 97, 99, 100, 101, 103, 104, 107, 110, 113, 114, 115, 116, 119, 128, 131, 133, 135, 136, 137, 139, 141, 144, 145], "excluded_lines": [], "functions": {"setup_logging": {"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": [26, 36, 38, 44, 49, 58, 59, 61, 62, 63, 66, 67], "excluded_lines": [], "start_line": 17}, "get_logger": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [80], "excluded_lines": [], "start_line": 70}, "StructlogMiddleware.__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": [95, 96, 97], "excluded_lines": [], "start_line": 94}, "StructlogMiddleware.__call__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [100, 101, 103, 104, 107, 110, 113, 114, 115, 116, 119, 128, 131, 133, 139, 141, 144, 145], "excluded_lines": [], "start_line": 99}, "StructlogMiddleware.__call__.send_wrapper": {"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": [135, 136, 137], "excluded_lines": [], "start_line": 133}, "": {"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": [11, 12, 14, 17, 70, 83, 94, 99], "excluded_lines": [], "start_line": 1}}, "classes": {"StructlogMiddleware": {"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": [95, 96, 97, 100, 101, 103, 104, 107, 110, 113, 114, 115, 116, 119, 128, 131, 133, 135, 136, 137, 139, 141, 144, 145], "excluded_lines": [], "start_line": 83}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [11, 12, 14, 17, 26, 36, 38, 44, 49, 58, 59, 61, 62, 63, 66, 67, 70, 80, 83, 94, 99], "excluded_lines": [], "start_line": 1}}}, "src/validation.py": {"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": [1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23, 33, 69, 70, 71, 73, 74, 79, 80, 87, 88, 90, 91, 95, 100, 104, 108, 109, 114], "excluded_lines": [], "functions": {"ValidationFramework.validate_upload": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [69, 70, 71, 73, 74, 79, 80, 87, 88, 90, 91, 95, 100, 104, 108, 109, 114], "excluded_lines": [], "start_line": 33}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23, 33], "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": 15}, "ValidationFramework": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [69, 70, 71, 73, 74, 79, 80, 87, 88, 90, 91, 95, 100, 104, 108, 109, 114], "excluded_lines": [], "start_line": 20}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [1, 2, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23, 33], "excluded_lines": [], "start_line": 1}}}, "src/websocket/__init__.py": {"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": [8, 9, 11], "excluded_lines": [], "functions": {"": {"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": [8, 9, 11], "excluded_lines": [], "start_line": 1}}, "classes": {"": {"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": [8, 9, 11], "excluded_lines": [], "start_line": 1}}}, "src/websocket/enhanced_manager.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 267, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 267, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 30, 33, 34, 35, 36, 37, 40, 51, 52, 53, 56, 57, 58, 59, 60, 61, 64, 65, 66, 69, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 98, 99, 102, 103, 104, 105, 108, 109, 112, 113, 114, 115, 116, 119, 126, 127, 128, 129, 131, 133, 136, 137, 138, 139, 142, 146, 149, 150, 151, 152, 155, 156, 157, 160, 161, 163, 165, 166, 167, 170, 206, 212, 215, 218, 221, 224, 225, 226, 229, 230, 231, 233, 235, 236, 237, 238, 240, 242, 244, 245, 246, 247, 249, 250, 251, 252, 254, 256, 270, 272, 279, 280, 283, 291, 297, 299, 310, 311, 312, 315, 316, 318, 319, 325, 327, 341, 342, 343, 345, 346, 347, 349, 352, 353, 354, 360, 361, 363, 365, 370, 371, 372, 375, 376, 381, 395, 396, 399, 400, 402, 403, 405, 406, 408, 409, 411, 412, 413, 415, 416, 417, 420, 421, 423, 424, 426, 436, 437, 438, 439, 441, 455, 456, 457, 459, 460, 461, 462, 463, 464, 465, 466, 468, 470, 472, 474, 476, 478, 480, 482, 483, 484, 486, 488, 496, 506, 507, 509, 510, 511, 512, 514, 515, 517, 518, 519, 521, 523, 530, 532, 534, 536, 538, 540, 542, 543, 544, 546, 547, 553, 554, 555, 556, 557, 558, 560, 562, 563, 564, 565, 567, 569, 570, 571, 573, 574, 576, 578, 579, 580, 582, 583, 586, 587, 588, 590, 591, 593, 594, 595, 596, 600, 603, 606, 607, 608, 611, 613, 614, 617, 620, 621], "excluded_lines": [], "functions": {"ConnectionInfo.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": [86], "excluded_lines": [], "start_line": 84}, "RateLimiter.__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": [127, 128, 129], "excluded_lines": [], "start_line": 126}, "RateLimiter.is_allowed": {"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": [133, 136, 137, 138, 139, 142, 146, 149, 150, 151, 152, 155, 156, 157, 160, 161], "excluded_lines": [], "start_line": 131}, "RateLimiter.get_wait_time": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [165, 166, 167], "excluded_lines": [], "start_line": 163}, "EnhancedConnectionManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [212, 215, 218, 221, 224, 225, 226, 229, 230, 231], "excluded_lines": [], "start_line": 206}, "EnhancedConnectionManager.start": {"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": [235, 236, 237, 238], "excluded_lines": [], "start_line": 233}, "EnhancedConnectionManager.stop": {"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": [242, 244, 245, 246, 247, 249, 250, 251, 252, 254], "excluded_lines": [], "start_line": 240}, "EnhancedConnectionManager.connect": {"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": [270, 272, 279, 280, 283, 291, 297], "excluded_lines": [], "start_line": 256}, "EnhancedConnectionManager.disconnect": {"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": [310, 311, 312, 315, 316, 318, 319, 325], "excluded_lines": [], "start_line": 299}, "EnhancedConnectionManager.handle_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [341, 342, 343, 345, 346, 347, 349, 352, 353, 354, 360, 361, 363, 365, 370, 371, 372, 375, 376], "excluded_lines": [], "start_line": 327}, "EnhancedConnectionManager.broadcast": {"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": [395, 396, 399, 400, 402, 403, 405, 406, 408, 409, 411, 412, 413, 415, 416, 417, 420, 421, 423, 424], "excluded_lines": [], "start_line": 381}, "EnhancedConnectionManager.broadcast_to_all": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [436, 437, 438, 439], "excluded_lines": [], "start_line": 426}, "EnhancedConnectionManager.send_personal_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [455, 456, 457, 459, 460, 461, 462, 463, 464, 465, 466], "excluded_lines": [], "start_line": 441}, "EnhancedConnectionManager.get_connection_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": [470], "excluded_lines": [], "start_line": 468}, "EnhancedConnectionManager.get_total_connection_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": [474], "excluded_lines": [], "start_line": 472}, "EnhancedConnectionManager.get_active_conversions": {"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": [478], "excluded_lines": [], "start_line": 476}, "EnhancedConnectionManager.get_connection_info": {"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": [482, 483, 484], "excluded_lines": [], "start_line": 480}, "EnhancedConnectionManager.get_metrics": {"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": [488], "excluded_lines": [], "start_line": 486}, "EnhancedConnectionManager.check_connection_health": {"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": [506, 507, 509, 510, 511, 512, 514, 515, 517, 518, 519, 521, 523], "excluded_lines": [], "start_line": 496}, "EnhancedConnectionManager._send_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [532], "excluded_lines": [], "start_line": 530}, "EnhancedConnectionManager._generate_client_id": {"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": [536, 538], "excluded_lines": [], "start_line": 534}, "EnhancedConnectionManager._heartbeat_loop": {"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": [542, 543, 544, 546, 547, 553, 554, 555, 556, 557, 558, 560, 562, 563, 564, 565], "excluded_lines": [], "start_line": 540}, "EnhancedConnectionManager._cleanup_loop": {"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": [569, 570, 571, 573, 574, 576, 578, 579, 580, 582, 583, 586, 587, 588, 590, 591, 593, 594, 595, 596], "excluded_lines": [], "start_line": 567}, "get_enhanced_manager": {"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": [606, 607, 608], "excluded_lines": [], "start_line": 603}, "start_websocket_manager": {"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": [613, 614], "excluded_lines": [], "start_line": 611}, "stop_websocket_manager": {"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": [620, 621], "excluded_lines": [], "start_line": 617}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 85, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 85, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 30, 33, 34, 35, 36, 37, 40, 51, 52, 53, 56, 57, 58, 59, 60, 61, 64, 65, 66, 69, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 98, 99, 102, 103, 104, 105, 108, 109, 112, 113, 114, 115, 116, 119, 126, 131, 163, 170, 206, 233, 240, 256, 299, 327, 381, 426, 441, 468, 472, 476, 480, 486, 496, 530, 534, 540, 567, 600, 603, 611, 617], "excluded_lines": [], "start_line": 1}}, "classes": {"ConnectionState": {"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": 30}, "MessageType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40}, "ConnectionInfo": {"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": [86], "excluded_lines": [], "start_line": 70}, "RateLimitConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99}, "HealthConfig": {"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": 109}, "RateLimiter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [127, 128, 129, 133, 136, 137, 138, 139, 142, 146, 149, 150, 151, 152, 155, 156, 157, 160, 161, 165, 166, 167], "excluded_lines": [], "start_line": 119}, "EnhancedConnectionManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 152, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 152, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [212, 215, 218, 221, 224, 225, 226, 229, 230, 231, 235, 236, 237, 238, 242, 244, 245, 246, 247, 249, 250, 251, 252, 254, 270, 272, 279, 280, 283, 291, 297, 310, 311, 312, 315, 316, 318, 319, 325, 341, 342, 343, 345, 346, 347, 349, 352, 353, 354, 360, 361, 363, 365, 370, 371, 372, 375, 376, 395, 396, 399, 400, 402, 403, 405, 406, 408, 409, 411, 412, 413, 415, 416, 417, 420, 421, 423, 424, 436, 437, 438, 439, 455, 456, 457, 459, 460, 461, 462, 463, 464, 465, 466, 470, 474, 478, 482, 483, 484, 488, 506, 507, 509, 510, 511, 512, 514, 515, 517, 518, 519, 521, 523, 532, 536, 538, 542, 543, 544, 546, 547, 553, 554, 555, 556, 557, 558, 560, 562, 563, 564, 565, 569, 570, 571, 573, 574, 576, 578, 579, 580, 582, 583, 586, 587, 588, 590, 591, 593, 594, 595, 596], "excluded_lines": [], "start_line": 170}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 92, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 92, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 30, 33, 34, 35, 36, 37, 40, 51, 52, 53, 56, 57, 58, 59, 60, 61, 64, 65, 66, 69, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 98, 99, 102, 103, 104, 105, 108, 109, 112, 113, 114, 115, 116, 119, 126, 131, 163, 170, 206, 233, 240, 256, 299, 327, 381, 426, 441, 468, 472, 476, 480, 486, 496, 530, 534, 540, 567, 600, 603, 606, 607, 608, 611, 613, 614, 617, 620, 621], "excluded_lines": [], "start_line": 1}}}, "src/websocket/manager.py": {"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": [11, 12, 13, 15, 18, 26, 28, 30, 38, 40, 41, 43, 44, 49, 57, 58, 61, 62, 63, 65, 70, 78, 79, 80, 81, 82, 84, 92, 93, 94, 97, 98, 100, 101, 102, 103, 104, 105, 108, 109, 111, 118, 119, 121, 131, 133, 140, 142, 149, 153], "excluded_lines": [], "functions": {"ConnectionManager.__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": [28], "excluded_lines": [], "start_line": 26}, "ConnectionManager.connect": {"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": [38, 40, 41, 43, 44], "excluded_lines": [], "start_line": 30}, "ConnectionManager.disconnect": {"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": [57, 58, 61, 62, 63, 65], "excluded_lines": [], "start_line": 49}, "ConnectionManager.send_personal_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [78, 79, 80, 81, 82], "excluded_lines": [], "start_line": 70}, "ConnectionManager.broadcast": {"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": [92, 93, 94, 97, 98, 100, 101, 102, 103, 104, 105, 108, 109], "excluded_lines": [], "start_line": 84}, "ConnectionManager.broadcast_to_all": {"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": [118, 119], "excluded_lines": [], "start_line": 111}, "ConnectionManager.get_connection_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": [131], "excluded_lines": [], "start_line": 121}, "ConnectionManager.get_total_connection_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": [140], "excluded_lines": [], "start_line": 133}, "ConnectionManager.get_active_conversions": {"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": 142}, "": {"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": [11, 12, 13, 15, 18, 26, 30, 49, 70, 84, 111, 121, 133, 142, 153], "excluded_lines": [], "start_line": 1}}, "classes": {"ConnectionManager": {"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": [28, 38, 40, 41, 43, 44, 57, 58, 61, 62, 63, 65, 78, 79, 80, 81, 82, 92, 93, 94, 97, 98, 100, 101, 102, 103, 104, 105, 108, 109, 118, 119, 131, 140, 149], "excluded_lines": [], "start_line": 18}, "": {"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": [11, 12, 13, 15, 18, 26, 30, 49, 70, 84, 111, 121, 133, 142, 153], "excluded_lines": [], "start_line": 1}}}, "src/websocket/progress_handler.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": [8, 9, 10, 11, 12, 14, 16, 19, 22, 23, 24, 25, 26, 29, 32, 33, 34, 40, 41, 45, 50, 53, 54, 57, 77, 88, 96, 97, 116, 118, 119, 120, 123, 124, 126, 127, 136, 144, 145, 162, 171, 172, 183, 191, 192, 201, 210, 211, 219, 230, 231, 232, 233, 234, 236, 237, 245, 256, 257, 258, 259, 260], "excluded_lines": [], "functions": {"progress_message": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [77], "excluded_lines": [], "start_line": 57}, "ProgressHandler.broadcast_progress": {"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": [116, 118, 119, 120, 123, 124], "excluded_lines": [], "start_line": 97}, "ProgressHandler.broadcast_agent_start": {"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": [136], "excluded_lines": [], "start_line": 127}, "ProgressHandler.broadcast_agent_update": {"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": [162], "excluded_lines": [], "start_line": 145}, "ProgressHandler.broadcast_agent_complete": {"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": [183], "excluded_lines": [], "start_line": 172}, "ProgressHandler.broadcast_agent_failed": {"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": [201], "excluded_lines": [], "start_line": 192}, "ProgressHandler.broadcast_conversion_complete": {"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": [219, 230, 231, 232, 233, 234], "excluded_lines": [], "start_line": 211}, "ProgressHandler.broadcast_conversion_failed": {"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": [245, 256, 257, 258, 259, 260], "excluded_lines": [], "start_line": 237}, "": {"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": [8, 9, 10, 11, 12, 14, 16, 19, 22, 23, 24, 25, 26, 29, 32, 33, 34, 40, 41, 45, 50, 53, 54, 57, 88, 96, 97, 126, 127, 144, 145, 171, 172, 191, 192, 210, 211, 236, 237], "excluded_lines": [], "start_line": 1}}, "classes": {"AgentStatus": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19}, "ProgressMessageData": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29}, "ProgressMessage": {"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": 50}, "ProgressHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [116, 118, 119, 120, 123, 124, 136, 162, 183, 201, 219, 230, 231, 232, 233, 234, 245, 256, 257, 258, 259, 260], "excluded_lines": [], "start_line": 88}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}, "missing_lines": [8, 9, 10, 11, 12, 14, 16, 19, 22, 23, 24, 25, 26, 29, 32, 33, 34, 40, 41, 45, 50, 53, 54, 57, 77, 88, 96, 97, 126, 127, 144, 145, 171, 172, 191, 192, 210, 211, 236, 237], "excluded_lines": [], "start_line": 1}}}}, "totals": {"covered_lines": 0, "num_statements": 17426, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17426, "excluded_lines": 6, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0"}} \ No newline at end of file diff --git a/backend/requirements.txt b/backend/requirements.txt index 36fe73b7..3c985a5f 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -69,3 +69,5 @@ opentelemetry-instrumentation-redis>=0.45b0 # boto3>=1.34.0 # hvac>=2.1.0 # requests>=2.31.0 +psutil>=5.9.0 +PyJWT>=2.8.0 diff --git a/backend/src/api/embeddings.py b/backend/src/api/embeddings.py index 31f8c79c..d0e98cc7 100644 --- a/backend/src/api/embeddings.py +++ b/backend/src/api/embeddings.py @@ -835,6 +835,7 @@ async def search_similar_embeddings_enhanced( - Performance: Target latency < 500ms Parameters: + ---------- - use_hybrid: If True (default), combine vector + keyword search. If False, vector-only. - use_reranker: If True (default), apply cross-encoder re-ranking to top results. - expand_query: If True (default), expand query with synonyms and domain terms. @@ -843,6 +844,7 @@ async def search_similar_embeddings_enhanced( - ranking_strategy: How to combine scores ("weighted_sum", "rrf", or "ensemble"). Returns: + ------- - EnhancedSearchResponse with results, metadata, and performance metrics """ import time diff --git a/frontend/src/components/BehaviorEditor/TemplateSelector/TemplateSelector.tsx b/frontend/src/components/BehaviorEditor/TemplateSelector/TemplateSelector.tsx index a1926331..c40d8184 100644 --- a/frontend/src/components/BehaviorEditor/TemplateSelector/TemplateSelector.tsx +++ b/frontend/src/components/BehaviorEditor/TemplateSelector/TemplateSelector.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useMemo } from 'react'; import { Box, Card, @@ -87,9 +87,11 @@ export const TemplateSelector: React.FC = ({ ]); // Filter templates on client side for excludeTemplateIds - const filteredTemplates = state.templates.filter( - (template) => !excludeTemplateIds.includes(template.id) - ); + // ⚡ Bolt optimization: Use Set for O(1) lookups to convert O(N*M) array filtering to O(N+M) + const filteredTemplates = useMemo(() => { + const excludeSet = new Set(excludeTemplateIds); + return state.templates.filter((template) => !excludeSet.has(template.id)); + }, [state.templates, excludeTemplateIds]); const handleTemplateSelect = (template: BehaviorTemplate) => { setSelectedTemplate(template);