From 6b66f2fb4959c188dfb6b0e62e89b540127e386e Mon Sep 17 00:00:00 2001 From: busya Date: Sun, 15 Mar 2026 13:19:46 +0300 Subject: [PATCH] Finalize assistant and dashboard health updates --- .ai/MODULE_MAP.md | 161 +- .ai/PROJECT_MAP.md | 189 +- .../assistant/AssistantChatPanel.svelte | 22 +- .../assistant_chat.integration.test.js | 9 + ...ssistant_first_message.integration.test.js | 178 + frontend/src/lib/i18n/locales/en.json | 5 +- frontend/src/lib/i18n/locales/ru.json | 5 +- .../src/routes/dashboards/health/+page.svelte | 64 +- .../__tests__/health_page.integration.test.js | 35 + semantics/semantic_map.json | 12265 +++++++++------- specs/026-dashboard-health-windows/tasks.md | 4 +- 11 files changed, 7662 insertions(+), 5275 deletions(-) create mode 100644 frontend/src/lib/components/assistant/__tests__/assistant_first_message.integration.test.js create mode 100644 frontend/src/routes/dashboards/health/__tests__/health_page.integration.test.js diff --git a/.ai/MODULE_MAP.md b/.ai/MODULE_MAP.md index 70023518..91360b5f 100644 --- a/.ai/MODULE_MAP.md +++ b/.ai/MODULE_MAP.md @@ -2,35 +2,33 @@ > High-level module structure for AI Context. Generated automatically. -**Generated:** 2026-03-10T20:52:01.801581 +**Generated:** 2026-03-14T09:20:50.362415 ## Summary - **Total Modules:** 103 -- **Total Entities:** 3088 +- **Total Entities:** 3134 ## Module Hierarchy ### πŸ“ `backend/` -- πŸ—οΈ **Layers:** Unknown, Utility -- πŸ“Š **Tiers:** STANDARD: 2, TRIVIAL: 2 -- πŸ“„ **Files:** 2 -- πŸ“¦ **Entities:** 4 +- πŸ—οΈ **Layers:** Utility +- πŸ“Š **Tiers:** STANDARD: 2 +- πŸ“„ **Files:** 1 +- πŸ“¦ **Entities:** 2 **Key Entities:** - πŸ“¦ **backend.delete_running_tasks** (Module) - Script to delete tasks with RUNNING status from the database... - - πŸ“¦ **test_auth_debug** (Module) `[TRIVIAL]` - - Auto-generated module for backend/test_auth_debug.py ### πŸ“ `src/` - πŸ—οΈ **Layers:** API, Core, UI (API) - - πŸ“Š **Tiers:** CRITICAL: 2, STANDARD: 21, TRIVIAL: 2 - - πŸ“„ **Files:** 2 - - πŸ“¦ **Entities:** 25 + - πŸ“Š **Tiers:** CRITICAL: 2, STANDARD: 22, TRIVIAL: 2 + - πŸ“„ **Files:** 3 + - πŸ“¦ **Entities:** 26 **Key Entities:** @@ -42,9 +40,9 @@ ### πŸ“ `api/` - πŸ—οΈ **Layers:** API - - πŸ“Š **Tiers:** CRITICAL: 7 - - πŸ“„ **Files:** 1 - - πŸ“¦ **Entities:** 7 + - πŸ“Š **Tiers:** CRITICAL: 7, STANDARD: 1 + - πŸ“„ **Files:** 2 + - πŸ“¦ **Entities:** 8 **Key Entities:** @@ -127,9 +125,9 @@ ### πŸ“ `core/` - πŸ—οΈ **Layers:** Core, Domain - - πŸ“Š **Tiers:** CRITICAL: 52, STANDARD: 102, TRIVIAL: 9 - - πŸ“„ **Files:** 12 - - πŸ“¦ **Entities:** 163 + - πŸ“Š **Tiers:** CRITICAL: 55, STANDARD: 103, TRIVIAL: 9 + - πŸ“„ **Files:** 13 + - πŸ“¦ **Entities:** 167 **Key Entities:** @@ -165,14 +163,16 @@ ### πŸ“ `__tests__/` - πŸ—οΈ **Layers:** Domain - - πŸ“Š **Tiers:** STANDARD: 8, TRIVIAL: 6 - - πŸ“„ **Files:** 2 - - πŸ“¦ **Entities:** 14 + - πŸ“Š **Tiers:** STANDARD: 11, TRIVIAL: 7 + - πŸ“„ **Files:** 3 + - πŸ“¦ **Entities:** 18 **Key Entities:** - β„‚ **_RecordingNetworkClient** (Class) - Records request payloads and returns scripted responses for ... + - πŸ“¦ **backend.src.core.__tests__.test_config_manager_compat** (Module) + - Verifies ConfigManager compatibility wrappers preserve legac... - πŸ“¦ **backend.src.core.__tests__.test_superset_profile_lookup** (Module) - Verifies Superset profile lookup adapter payload normalizati... - πŸ“¦ **test_throttled_scheduler** (Module) @@ -181,9 +181,9 @@ ### πŸ“ `auth/` - πŸ—οΈ **Layers:** Core, Domain - - πŸ“Š **Tiers:** CRITICAL: 28 - - πŸ“„ **Files:** 6 - - πŸ“¦ **Entities:** 28 + - πŸ“Š **Tiers:** CRITICAL: 29 + - πŸ“„ **Files:** 7 + - πŸ“¦ **Entities:** 29 **Key Entities:** @@ -317,9 +317,9 @@ ### πŸ“ `utils/` - πŸ—οΈ **Layers:** Core, Domain, Infra - - πŸ“Š **Tiers:** CRITICAL: 1, STANDARD: 62, TRIVIAL: 5 - - πŸ“„ **Files:** 5 - - πŸ“¦ **Entities:** 68 + - πŸ“Š **Tiers:** CRITICAL: 1, STANDARD: 63, TRIVIAL: 5 + - πŸ“„ **Files:** 6 + - πŸ“¦ **Entities:** 69 **Key Entities:** @@ -355,9 +355,9 @@ ### πŸ“ `models/` - πŸ—οΈ **Layers:** Domain, Model - - πŸ“Š **Tiers:** CRITICAL: 21, STANDARD: 40, TRIVIAL: 29 - - πŸ“„ **Files:** 13 - - πŸ“¦ **Entities:** 90 + - πŸ“Š **Tiers:** CRITICAL: 21, STANDARD: 41, TRIVIAL: 29 + - πŸ“„ **Files:** 14 + - πŸ“¦ **Entities:** 91 **Key Entities:** @@ -409,9 +409,9 @@ ### πŸ“ `plugins/` - πŸ—οΈ **Layers:** App, Plugin, Plugins - - πŸ“Š **Tiers:** CRITICAL: 10, STANDARD: 53 - - πŸ“„ **Files:** 6 - - πŸ“¦ **Entities:** 63 + - πŸ“Š **Tiers:** CRITICAL: 10, STANDARD: 54 + - πŸ“„ **Files:** 7 + - πŸ“¦ **Entities:** 64 **Key Entities:** @@ -445,9 +445,9 @@ ### πŸ“ `git/` - πŸ—οΈ **Layers:** Unknown - - πŸ“Š **Tiers:** STANDARD: 2, TRIVIAL: 2 - - πŸ“„ **Files:** 1 - - πŸ“¦ **Entities:** 4 + - πŸ“Š **Tiers:** STANDARD: 3, TRIVIAL: 2 + - πŸ“„ **Files:** 2 + - πŸ“¦ **Entities:** 5 **Key Entities:** @@ -512,9 +512,9 @@ ### πŸ“ `schemas/` - πŸ—οΈ **Layers:** API, Domain - - πŸ“Š **Tiers:** CRITICAL: 10, STANDARD: 18, TRIVIAL: 3 - - πŸ“„ **Files:** 4 - - πŸ“¦ **Entities:** 31 + - πŸ“Š **Tiers:** CRITICAL: 10, STANDARD: 19, TRIVIAL: 3 + - πŸ“„ **Files:** 5 + - πŸ“¦ **Entities:** 32 **Key Entities:** @@ -557,9 +557,9 @@ ### πŸ“ `scripts/` - πŸ—οΈ **Layers:** Scripts, UI, Unknown - - πŸ“Š **Tiers:** CRITICAL: 2, STANDARD: 43, TRIVIAL: 30 - - πŸ“„ **Files:** 8 - - πŸ“¦ **Entities:** 75 + - πŸ“Š **Tiers:** CRITICAL: 3, STANDARD: 44, TRIVIAL: 30 + - πŸ“„ **Files:** 9 + - πŸ“¦ **Entities:** 77 **Key Entities:** @@ -592,9 +592,9 @@ ### πŸ“ `services/` - πŸ—οΈ **Layers:** Core, Domain, Domain/Service, Service - - πŸ“Š **Tiers:** CRITICAL: 9, STANDARD: 120, TRIVIAL: 17 + - πŸ“Š **Tiers:** CRITICAL: 10, STANDARD: 120, TRIVIAL: 17 - πŸ“„ **Files:** 10 - - πŸ“¦ **Entities:** 146 + - πŸ“¦ **Entities:** 147 **Key Entities:** @@ -630,9 +630,9 @@ ### πŸ“ `__tests__/` - πŸ—οΈ **Layers:** Domain, Domain Tests, Service, Service Tests, Unknown - - πŸ“Š **Tiers:** STANDARD: 36, TRIVIAL: 40 + - πŸ“Š **Tiers:** STANDARD: 37, TRIVIAL: 40 - πŸ“„ **Files:** 7 - - πŸ“¦ **Entities:** 76 + - πŸ“¦ **Entities:** 77 **Key Entities:** @@ -664,9 +664,9 @@ ### πŸ“ `clean_release/` - πŸ—οΈ **Layers:** Application, Domain, Infra - - πŸ“Š **Tiers:** CRITICAL: 9, STANDARD: 46, TRIVIAL: 50 - - πŸ“„ **Files:** 21 - - πŸ“¦ **Entities:** 105 + - πŸ“Š **Tiers:** CRITICAL: 9, STANDARD: 48, TRIVIAL: 50 + - πŸ“„ **Files:** 22 + - πŸ“¦ **Entities:** 107 **Key Entities:** @@ -681,22 +681,22 @@ - Execute clean-release compliance lifecycle over trusted snap... - πŸ“¦ **backend.src.services.clean_release.approval_service** (Module) `[CRITICAL]` - Enforce approval/rejection gates over immutable compliance r... + - πŸ“¦ **backend.src.services.clean_release.artifact_catalog_loader** (Module) + - Load bootstrap artifact catalogs for clean release real-mode... - πŸ“¦ **backend.src.services.clean_release.audit_service** (Module) - Provide lightweight audit hooks for clean release preparatio... - πŸ“¦ **backend.src.services.clean_release.candidate_service** (Module) `[CRITICAL]` - Register release candidates with validated artifacts and adv... - πŸ“¦ **backend.src.services.clean_release.compliance_execution_service** (Module) `[CRITICAL]` - Create and execute compliance runs with trusted snapshots, d... - - πŸ“¦ **backend.src.services.clean_release.compliance_orchestrator** (Module) `[CRITICAL]` - - Execute mandatory clean compliance stages and produce final ... **Dependencies:** - πŸ”— DEPENDS_ON -> backend.src.core.config_manager - πŸ”— DEPENDS_ON -> backend.src.core.logger - πŸ”— DEPENDS_ON -> backend.src.models.clean_release + - πŸ”— DEPENDS_ON -> backend.src.models.clean_release.CandidateArtifact - πŸ”— DEPENDS_ON -> backend.src.models.clean_release.CleanProfilePolicy - - πŸ”— DEPENDS_ON -> backend.src.models.clean_release.ResourceSourceRegistry ### πŸ“ `__tests__/` @@ -797,9 +797,9 @@ ### πŸ“ `notifications/` - πŸ—οΈ **Layers:** Domain, Infra - - πŸ“Š **Tiers:** CRITICAL: 2, STANDARD: 5, TRIVIAL: 14 - - πŸ“„ **Files:** 2 - - πŸ“¦ **Entities:** 21 + - πŸ“Š **Tiers:** CRITICAL: 2, STANDARD: 6, TRIVIAL: 14 + - πŸ“„ **Files:** 3 + - πŸ“¦ **Entities:** 22 **Key Entities:** @@ -838,9 +838,9 @@ ### πŸ“ `reports/` - πŸ—οΈ **Layers:** Domain - - πŸ“Š **Tiers:** CRITICAL: 5, STANDARD: 15 - - πŸ“„ **Files:** 3 - - πŸ“¦ **Entities:** 20 + - πŸ“Š **Tiers:** CRITICAL: 5, STANDARD: 16 + - πŸ“„ **Files:** 4 + - πŸ“¦ **Entities:** 21 **Key Entities:** @@ -880,9 +880,9 @@ ### πŸ“ `tests/` - πŸ—οΈ **Layers:** Core, Domain (Tests), Logging (Tests), Test, Unknown - - πŸ“Š **Tiers:** STANDARD: 87, TRIVIAL: 85 + - πŸ“Š **Tiers:** STANDARD: 87, TRIVIAL: 91 - πŸ“„ **Files:** 10 - - πŸ“¦ **Entities:** 172 + - πŸ“¦ **Entities:** 178 **Key Entities:** @@ -942,9 +942,9 @@ ### πŸ“ `scripts/` - πŸ—οΈ **Layers:** Domain, Scripts - - πŸ“Š **Tiers:** STANDARD: 3, TRIVIAL: 17 + - πŸ“Š **Tiers:** STANDARD: 3, TRIVIAL: 18 - πŸ“„ **Files:** 3 - - πŸ“¦ **Entities:** 20 + - πŸ“¦ **Entities:** 21 **Key Entities:** @@ -995,9 +995,9 @@ ### πŸ“ `components/` - πŸ—οΈ **Layers:** Component, Feature, UI, UI -->, Unknown - - πŸ“Š **Tiers:** STANDARD: 73, TRIVIAL: 4 - - πŸ“„ **Files:** 14 - - πŸ“¦ **Entities:** 77 + - πŸ“Š **Tiers:** STANDARD: 74, TRIVIAL: 13 + - πŸ“„ **Files:** 15 + - πŸ“¦ **Entities:** 87 **Key Entities:** @@ -1019,8 +1019,8 @@ - Main navigation bar for the application. - 🧩 **PasswordPrompt** (Component) - A modal component to prompt the user for database passwords ... - - 🧩 **TaskHistory** (Component) - - Displays a list of recent tasks with their status and allows... + - 🧩 **StartupEnvironmentWizard** (Component) + - Blocking startup wizard for creating the first Superset envi... ### πŸ“ `__tests__/` @@ -1087,9 +1087,9 @@ ### πŸ“ `llm/` - πŸ—οΈ **Layers:** UI, Unknown - - πŸ“Š **Tiers:** CRITICAL: 1, STANDARD: 1, TRIVIAL: 11 + - πŸ“Š **Tiers:** CRITICAL: 1, STANDARD: 1, TRIVIAL: 12 - πŸ“„ **Files:** 3 - - πŸ“¦ **Entities:** 13 + - πŸ“¦ **Entities:** 14 **Key Entities:** @@ -1114,7 +1114,7 @@ **Key Entities:** - πŸ“¦ **frontend.src.components.llm.__tests__.provider_config_integration** (Module) - - Protect edit-button interaction contract in LLM provider set... + - Protect edit and delete interaction contracts in LLM provide... ### πŸ“ `storage/` @@ -1284,9 +1284,9 @@ ### πŸ“ `health/` - πŸ—οΈ **Layers:** UI/Component, Unknown - - πŸ“Š **Tiers:** STANDARD: 2, TRIVIAL: 3 + - πŸ“Š **Tiers:** STANDARD: 2, TRIVIAL: 6 - πŸ“„ **Files:** 2 - - πŸ“¦ **Entities:** 5 + - πŸ“¦ **Entities:** 8 **Key Entities:** @@ -1300,9 +1300,9 @@ ### πŸ“ `layout/` - πŸ—οΈ **Layers:** UI, Unknown - - πŸ“Š **Tiers:** STANDARD: 11, TRIVIAL: 48 + - πŸ“Š **Tiers:** STANDARD: 11, TRIVIAL: 50 - πŸ“„ **Files:** 5 - - πŸ“¦ **Entities:** 59 + - πŸ“¦ **Entities:** 61 **Key Entities:** @@ -1621,9 +1621,9 @@ ### πŸ“ `dashboards/` - πŸ—οΈ **Layers:** UI, Unknown - - πŸ“Š **Tiers:** STANDARD: 26, TRIVIAL: 63 + - πŸ“Š **Tiers:** STANDARD: 26, TRIVIAL: 66 - πŸ“„ **Files:** 1 - - πŸ“¦ **Entities:** 89 + - πŸ“¦ **Entities:** 92 **Key Entities:** @@ -1971,10 +1971,10 @@ ### πŸ“ `root/` -- πŸ—οΈ **Layers:** DevOps/Tooling, Unknown -- πŸ“Š **Tiers:** CRITICAL: 11, STANDARD: 18, TRIVIAL: 10 -- πŸ“„ **Files:** 2 -- πŸ“¦ **Entities:** 39 +- πŸ—οΈ **Layers:** DevOps/Tooling +- πŸ“Š **Tiers:** CRITICAL: 11, STANDARD: 18, TRIVIAL: 8 +- πŸ“„ **Files:** 1 +- πŸ“¦ **Entities:** 37 **Key Entities:** @@ -1988,8 +1988,6 @@ - Severity levels for compliance issues. - β„‚ **Tier** (Class) `[TRIVIAL]` - Enumeration of semantic tiers defining validation strictness... - - πŸ“¦ **check_test_data** (Module) `[TRIVIAL]` - - Auto-generated module for check_test_data.py - πŸ“¦ **generate_semantic_map** (Module) - Scans the codebase to generate a Semantic Map, Module Map, a... @@ -2157,6 +2155,7 @@ graph TD clean_release-->|DEPENDS_ON|backend clean_release-->|DEPENDS_ON|backend clean_release-->|DEPENDS_ON|backend + clean_release-->|DEPENDS_ON|backend __tests__-->|TESTS|backend __tests__-->|TESTS|backend __tests__-->|TESTS|backend diff --git a/.ai/PROJECT_MAP.md b/.ai/PROJECT_MAP.md index b7e436d5..49d2afe7 100644 --- a/.ai/PROJECT_MAP.md +++ b/.ai/PROJECT_MAP.md @@ -2,11 +2,6 @@ > Compressed view for AI Context. Generated automatically. -- πŸ“¦ **check_test_data** (`Module`) `[TRIVIAL]` - - πŸ“ Auto-generated module for check_test_data.py - - πŸ—οΈ Layer: Unknown - - Ζ’ **check_file** (`Function`) `[TRIVIAL]` - - πŸ“ Auto-detected function (orphan) - πŸ“¦ **generate_semantic_map** (`Module`) - πŸ“ Scans the codebase to generate a Semantic Map, Module Map, and Compliance Report based on the System Standard. - πŸ—οΈ Layer: DevOps/Tooling @@ -419,7 +414,7 @@ - πŸ”’ Invariant: Risky operations are executed only through explicit confirm action. - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `lib` - - ⬅️ READS_FROM `assistantChatStore` + - ➑️ WRITES_TO `state` - Ζ’ **loadHistory** (`Function`) - πŸ“ Load current conversation history when panel becomes visible. - Ζ’ **loadConversations** (`Function`) @@ -470,7 +465,7 @@ - πŸ—οΈ Layer: UI/Component - ⬅️ READS_FROM `state` - ⬅️ READS_FROM `derived` - - ➑️ WRITES_TO `props` + - ⬅️ READS_FROM `lib` - 🧩 **PolicyForm** (`Component`) - πŸ“ Form for creating and editing validation policies. - πŸ—οΈ Layer: UI/Component @@ -480,6 +475,12 @@ - πŸ“¦ **PolicyForm** (`Module`) `[TRIVIAL]` - πŸ“ Auto-generated module for frontend/src/lib/components/health/PolicyForm.svelte - πŸ—οΈ Layer: Unknown + - Ζ’ **getSafePolicy** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **getSafeEnvironments** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **buildFormData** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - Ζ’ **handleSubmit** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) - Ζ’ **toggleDay** (`Function`) `[TRIVIAL]` @@ -488,7 +489,6 @@ - πŸ“ Render one report with explicit textual type label and profile-driven visual variant. - πŸ—οΈ Layer: UI - πŸ”’ Invariant: Unknown task type always uses fallback profile. - - ⚑ Events: select - ⬅️ READS_FROM `lib` - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `derived` @@ -577,10 +577,14 @@ - πŸ”’ Invariant: Always shows active category and item - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `lib` - - ⬅️ READS_FROM `sidebarStore` + - ➑️ WRITES_TO `derived` - πŸ“¦ **Sidebar** (`Module`) `[TRIVIAL]` - πŸ“ Auto-generated module for frontend/src/lib/components/layout/Sidebar.svelte - πŸ—οΈ Layer: Unknown + - Ζ’ **withExpandedCategory** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **toggleExpandedCategory** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - Ζ’ **handleItemClick** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) - Ζ’ **handleCategoryToggle** (`Function`) `[TRIVIAL]` @@ -595,10 +599,9 @@ - πŸ“ Unified top navigation bar with Logo, Search, Activity, and User menu - πŸ—οΈ Layer: UI - πŸ”’ Invariant: Always visible on non-login pages - - ⚑ Events: activityClick - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `lib` - - ⬅️ READS_FROM `sidebarStore` + - ➑️ WRITES_TO `state` - πŸ“¦ **TopNavbar** (`Module`) `[TRIVIAL]` - πŸ“ Auto-generated module for frontend/src/lib/components/layout/TopNavbar.svelte - πŸ—οΈ Layer: Unknown @@ -655,8 +658,8 @@ - πŸ—οΈ Layer: UI - πŸ”’ Invariant: Drawer shows logs for active task or remains closed - ⬅️ READS_FROM `lib` - - ⬅️ READS_FROM `taskDrawerStore` - - ➑️ WRITES_TO `taskDrawerStore` + - ➑️ WRITES_TO `state` + - ➑️ WRITES_TO `derived` - Ζ’ **disconnectWebSocket** (`Function`) - πŸ“ Disconnects the active WebSocket connection - Ζ’ **loadRecentTasks** (`Function`) @@ -956,6 +959,10 @@ - πŸ“ Auto-detected function (orphan) - Ζ’ **updateSelectionState** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) + - Ζ’ **replaceSelectedIds** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **clearSelectedIds** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - Ζ’ **handleCheckboxChange** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) - Ζ’ **handleSelectAll** (`Function`) `[TRIVIAL]` @@ -1054,6 +1061,8 @@ - πŸ“ Auto-detected function (orphan) - Ζ’ **getPaginationRange** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) + - Ζ’ **handleEnvironmentCreated** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - πŸ“¦ **frontend.src.routes.dashboards.__tests__.dashboard_profile_override_integration** (`Module`) - πŸ“ Verifies temporary show-all override and restore-on-return behavior for profile-default dashboard filtering. - πŸ—οΈ Layer: UI (Tests) @@ -1203,8 +1212,8 @@ - 🧩 **MigrationDashboard** (`Component`) `[CRITICAL]` - πŸ“ Orchestrate migration UI workflow and route user actions to backend APIs and task store. - ⬅️ READS_FROM `lib` - - ⬅️ READS_FROM `selectedTask` - - ➑️ WRITES_TO `selectedTask` + - ➑️ WRITES_TO `state` + - ⬅️ READS_FROM `effect` - Ζ’ **fetchEnvironments** (`Function`) `[CRITICAL]` - πŸ“ Fetches the list of environments from the API. - Ζ’ **fetchDashboards** (`Function`) `[CRITICAL]` @@ -1301,8 +1310,8 @@ - πŸ—οΈ Layer: UI - πŸ”’ Invariant: Always displays a unified storage view without category tabs. - ⬅️ READS_FROM `app` + - ➑️ WRITES_TO `state` - ⬅️ READS_FROM `t` - - ➑️ WRITES_TO `page` - Ζ’ **loadFiles** (`Function`) - πŸ“ Fetches the list of files from the server. - Ζ’ **resolveStorageQueryFromPath** (`Function`) @@ -1407,8 +1416,8 @@ - πŸ—οΈ Layer: Page - πŸ”’ Invariant: All configurations must be validated via connection test. - ⬅️ READS_FROM `lib` + - ➑️ WRITES_TO `state` - ⬅️ READS_FROM `t` - - ➑️ WRITES_TO `t` - Ζ’ **loadConfigs** (`Function`) - πŸ“ Fetches existing git configurations. - Ζ’ **handleTest** (`Function`) @@ -1454,8 +1463,8 @@ - πŸ“ Dashboard management page for Git integration. - πŸ—οΈ Layer: Page - ⬅️ READS_FROM `lib` - - ➑️ WRITES_TO `environmentContextStore` - - ⬅️ READS_FROM `environmentContextStore` + - ➑️ WRITES_TO `state` + - ➑️ WRITES_TO `derived` - Ζ’ **fetchEnvironments** (`Function`) - πŸ“ Fetches the list of deployment environments from the API. - Ζ’ **fetchDashboards** (`Function`) @@ -1571,7 +1580,6 @@ - πŸ“ Displays a grid of dashboards with selection and pagination. - πŸ—οΈ Layer: Component - πŸ”’ Invariant: Selected IDs must be a subset of available dashboards. - - ⚑ Events: selectionChanged - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` - ➑️ WRITES_TO `derived` @@ -1618,19 +1626,17 @@ - 🧩 **PasswordPrompt** (`Component`) - πŸ“ A modal component to prompt the user for database passwords when a migration task is paused. - πŸ—οΈ Layer: UI - - ⚑ Events: cancel, resume - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` - ⬅️ READS_FROM `effect` - Ζ’ **handleSubmit** (`Function`) - - πŸ“ Validates and dispatches the passwords to resume the task. + - πŸ“ Validates and forwards passwords to resume the task. - Ζ’ **handleCancel** (`Function`) - πŸ“ Cancels the password prompt. - 🧩 **MappingTable** (`Component`) - πŸ“ Displays and allows editing of database mappings. - πŸ—οΈ Layer: Feature - πŸ”’ Invariant: Each source database can be mapped to one target database. - - ⚑ Events: update - ⬅️ READS_FROM `lib` - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `t` @@ -1642,7 +1648,6 @@ - πŸ“ Displays detailed logs for a specific task inline or in a modal using TaskLogPanel. - πŸ—οΈ Layer: UI - πŸ”’ Invariant: Real-time logs are always appended without duplicates. - - ⚑ Events: close - ➑️ WRITES_TO `bindable` - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` @@ -1667,18 +1672,16 @@ - πŸ“ Prompts the user to provide a database mapping when one is missing during migration. - πŸ—οΈ Layer: Feature - πŸ”’ Invariant: Modal blocks migration progress until resolved or cancelled. - - ⚑ Events: cancel, resolve - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` - Ζ’ **resolve** (`Function`) - - πŸ“ Dispatches the resolution event with the selected mapping. + - πŸ“ Resolves the missing mapping via callback prop. - Ζ’ **cancel** (`Function`) - πŸ“ Cancels the mapping resolution modal. - 🧩 **DashboardGrid** (`Component`) - πŸ“ Displays a grid of dashboards with selection and pagination. - πŸ—οΈ Layer: Component - πŸ”’ Invariant: Selected IDs must be a subset of available dashboards. - - ⚑ Events: selectionChanged - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` - ➑️ WRITES_TO `derived` @@ -1699,7 +1702,7 @@ - πŸ—οΈ Layer: UI - ⬅️ READS_FROM `app` - ⬅️ READS_FROM `lib` - - ➑️ WRITES_TO `page` + - ⬅️ READS_FROM `t` - πŸ“¦ **Navbar** (`Module`) `[TRIVIAL]` - πŸ“ Auto-generated module for frontend/src/components/Navbar.svelte - πŸ—οΈ Layer: Unknown @@ -1753,7 +1756,6 @@ - 🧩 **TaskList** (`Component`) - πŸ“ Displays a list of tasks with their status and execution details. - πŸ—οΈ Layer: Component - - ⚑ Events: select - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `t` - ⬅️ READS_FROM `t` @@ -1762,25 +1764,49 @@ - Ζ’ **formatTime** (`Function`) - πŸ“ Formats a date string using date-fns. - Ζ’ **handleTaskClick** (`Function`) - - πŸ“ Dispatches a select event when a task is clicked. + - πŸ“ Forwards the selected task through a callback prop. - 🧩 **DynamicForm** (`Component`) - πŸ“ Generates a form dynamically based on a JSON schema. - πŸ—οΈ Layer: UI - - ⚑ Events: submit - ➑️ WRITES_TO `props` - Ζ’ **handleSubmit** (`Function`) - - πŸ“ Dispatches the submit event with the form data. + - πŸ“ Emits submitted form data via callback prop. - Ζ’ **initializeForm** (`Function`) - πŸ“ Initialize form data with default values from the schema. - 🧩 **EnvSelector** (`Component`) - πŸ“ Provides a UI component for selecting source and target environments. - πŸ—οΈ Layer: Feature - πŸ”’ Invariant: Source and target environments must be selectable from the list of configured environments. - - ⚑ Events: change - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `t` - Ζ’ **handleSelect** (`Function`) - - πŸ“ Dispatches the selection change event. + - πŸ“ Propagates the selection change through a callback prop. +- 🧩 **StartupEnvironmentWizard** (`Component`) + - πŸ“ Blocking startup wizard for creating the first Superset environment from zero-state screens. + - πŸ—οΈ Layer: UI + - πŸ”’ Invariant: When open, wizard keeps user on an actionable setup path until the first environment exists. + - ⬅️ READS_FROM `app` + - ⬅️ READS_FROM `lib` + - ➑️ WRITES_TO `props` +- πŸ“¦ **StartupEnvironmentWizard** (`Module`) `[TRIVIAL]` + - πŸ“ Auto-generated module for frontend/src/components/StartupEnvironmentWizard.svelte + - πŸ—οΈ Layer: Unknown + - Ζ’ **createInitialForm** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **slugifyEnvironmentId** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **normalizeSupersetBaseUrl** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **resetWizard** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **handleNameInput** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **handleIdInput** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **openAdvancedSettings** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **handleCreateEnvironment** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - πŸ“¦ **ProtectedRoute.svelte** (`Module`) - πŸ“ Enforces authenticated and authorized access before protected route content is rendered. - πŸ—οΈ Layer: UI @@ -1793,7 +1819,6 @@ - πŸ“ Combines log filtering and display into a single cohesive dark-themed panel. - πŸ—οΈ Layer: UI - πŸ”’ Invariant: Must always display logs in chronological order and respect auto-scroll preference. - - ⚑ Events: filterChange - ➑️ WRITES_TO `bindable` - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` @@ -1844,7 +1869,6 @@ - 🧩 **FileList** (`Component`) - πŸ“ Displays a table of files with metadata and actions. - πŸ—οΈ Layer: UI - - ⚑ Events: delete, navigate - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `t` - ⬅️ READS_FROM `t` @@ -1859,7 +1883,6 @@ - 🧩 **FileUpload** (`Component`) - πŸ“ Provides a form for uploading files to a specific category. - πŸ—οΈ Layer: UI - - ⚑ Events: uploaded - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` - ⬅️ READS_FROM `t` @@ -1870,9 +1893,9 @@ - 🧩 **ConnectionForm** (`Component`) - πŸ“ UI component for creating a new database connection configuration. - πŸ—οΈ Layer: UI - - ⚑ Events: success + - ➑️ WRITES_TO `props` + - ➑️ WRITES_TO `state` - ⬅️ READS_FROM `t` - - ➑️ WRITES_TO `t` - Ζ’ **handleSubmit** (`Function`) - πŸ“ Submits the connection form to the backend. - Ζ’ **resetForm** (`Function`) @@ -1880,6 +1903,7 @@ - 🧩 **ConnectionList** (`Component`) - πŸ“ UI component for listing and deleting saved database connection configurations. - πŸ—οΈ Layer: UI + - ➑️ WRITES_TO `state` - ⬅️ READS_FROM `t` - ➑️ WRITES_TO `t` - Ζ’ **fetchConnections** (`Function`) @@ -1927,7 +1951,6 @@ - πŸ“ Modal for deploying a dashboard to a target environment. - πŸ—οΈ Layer: Component - πŸ”’ Invariant: Cannot deploy without a selected environment. - - ⚑ Events: deploy - ➑️ WRITES_TO `bindable` - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` @@ -1944,7 +1967,6 @@ - πŸ“ UI for resolving merge conflicts (Keep Mine / Keep Theirs). - πŸ—οΈ Layer: Component - πŸ”’ Invariant: User must resolve all conflicts before saving. - - ⚑ Events: resolve - ➑️ WRITES_TO `bindable` - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` @@ -1955,7 +1977,6 @@ - 🧩 **CommitModal** (`Component`) - πŸ“ МодальноС ΠΎΠΊΠ½ΠΎ для создания ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с просмотром ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (diff). - πŸ—οΈ Layer: Component - - ⚑ Events: commit - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` - ⬅️ READS_FROM `t` @@ -1968,7 +1989,6 @@ - 🧩 **BranchSelector** (`Component`) - πŸ“ UI для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈ создания Π²Π΅Ρ‚ΠΎΠΊ Git. - πŸ—οΈ Layer: Component - - ⚑ Events: change - ➑️ WRITES_TO `bindable` - ➑️ WRITES_TO `props` - ➑️ WRITES_TO `state` @@ -2078,9 +2098,9 @@ - 🧩 **ProviderConfig** (`Component`) `[CRITICAL]` - πŸ“ UI form for managing LLM provider configurations. - πŸ—οΈ Layer: UI - - πŸ“₯ Props: providers: any, onSave: any + - ➑️ WRITES_TO `props` + - ➑️ WRITES_TO `state` - ➑️ WRITES_TO `t` - - ⬅️ READS_FROM `t` - πŸ“¦ **ProviderConfig** (`Module`) `[TRIVIAL]` - πŸ“ Auto-generated module for frontend/src/components/llm/ProviderConfig.svelte - πŸ—οΈ Layer: Unknown @@ -2096,22 +2116,19 @@ - πŸ“ Auto-detected function (orphan) - Ζ’ **toggleActive** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) + - Ζ’ **handleDelete** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - πŸ“¦ **ValidationReport** (`Module`) `[TRIVIAL]` - πŸ“ Auto-generated module for frontend/src/components/llm/ValidationReport.svelte - πŸ—οΈ Layer: Unknown - Ζ’ **getStatusColor** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) - πŸ“¦ **frontend.src.components.llm.__tests__.provider_config_integration** (`Module`) - - πŸ“ Protect edit-button interaction contract in LLM provider settings UI. + - πŸ“ Protect edit and delete interaction contracts in LLM provider settings UI. - πŸ—οΈ Layer: UI Tests - πŸ”’ Invariant: Edit action keeps explicit click handler and opens normalized edit form. - Ζ’ **provider_config_edit_contract_tests** (`Function`) - - πŸ“ Validate edit button handler wiring and normalized edit form state mapping. -- πŸ“¦ **test_auth_debug** (`Module`) `[TRIVIAL]` - - πŸ“ Auto-generated module for backend/test_auth_debug.py - - πŸ—οΈ Layer: Unknown - - Ζ’ **main** (`Function`) `[TRIVIAL]` - - πŸ“ Auto-detected function (orphan) + - πŸ“ Validate edit and delete handler wiring plus normalized edit form state mapping. - πŸ“¦ **backend.delete_running_tasks** (`Module`) - πŸ“ Script to delete tasks with RUNNING status from the database. - πŸ—οΈ Layer: Utility @@ -2171,6 +2188,8 @@ - πŸ“ Dependency for checking if the current user has a specific permission. - Ζ’ **permission_checker** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) +- πŸ“¦ **src** (`Package`) + - πŸ“ Canonical backend package root for application, scripts, and tests. - πŸ“¦ **backend.src.scripts.seed_superset_load_test** (`Module`) - πŸ“ Creates randomized load-test data in Superset by cloning chart configurations and creating dashboards in target environments. - πŸ—οΈ Layer: Scripts @@ -2328,6 +2347,8 @@ - πŸ—οΈ Layer: Scripts - πŸ”’ Invariant: Safe to run multiple times (idempotent). - πŸ”— CALLS -> `backend.src.core.database.init_db` + - Ζ’ **ensure_encryption_key** (`Function`) `[CRITICAL]` + - πŸ“ Ensure backend runtime has a persistent Fernet encryption key during first-time installation. - Ζ’ **run_init** (`Function`) `[CRITICAL]` - πŸ“ Main entry point for the initialization script. - πŸ“¦ **backend.src.scripts.create_admin** (`Module`) @@ -2336,6 +2357,8 @@ - πŸ”’ Invariant: Admin user must have the "Admin" role. - Ζ’ **create_admin** (`Function`) - πŸ“ Creates an admin user and necessary roles/permissions. +- πŸ“¦ **src.scripts** (`Package`) + - πŸ“ Script entrypoint package root. - πŸ“¦ **backend.src.schemas.health** (`Module`) - πŸ“ Pydantic schemas for dashboard health summary. - πŸ—οΈ Layer: Domain @@ -2406,6 +2429,8 @@ - πŸ“ Canonical account candidate projected from Superset users payload. - β„‚ **SupersetAccountLookupResponse** (`Class`) - πŸ“ Response envelope for Superset account lookup (success or degraded mode). +- πŸ“¦ **src.schemas** (`Package`) + - πŸ“ API schema package root. - πŸ“¦ **backend.src.schemas.__tests__.test_settings_and_health_schemas** (`Module`) - πŸ“ Regression tests for settings and health schema contracts updated in 026 fix batch. - Ζ’ **test_validation_policy_create_accepts_structured_custom_channels** (`Function`) @@ -2532,6 +2557,8 @@ - πŸ“ Initialize manager state from persisted or migrated configuration. - Ζ’ **_default_config** (`Function`) `[CRITICAL]` - πŸ“ Build default application configuration fallback. + - Ζ’ **_sync_raw_payload_from_config** (`Function`) `[CRITICAL]` + - πŸ“ Merge typed AppConfig state into raw payload while preserving unsupported legacy sections. - Ζ’ **_load_from_legacy_file** (`Function`) `[CRITICAL]` - πŸ“ Load legacy JSON configuration for migration fallback path. - Ζ’ **_get_record** (`Function`) `[CRITICAL]` @@ -2544,6 +2571,10 @@ - πŸ“ Persist current in-memory configuration state. - Ζ’ **get_config** (`Function`) `[CRITICAL]` - πŸ“ Return current in-memory configuration snapshot. + - Ζ’ **get_payload** (`Function`) `[CRITICAL]` + - πŸ“ Return full persisted payload including sections outside typed AppConfig schema. + - Ζ’ **save_config** (`Function`) `[CRITICAL]` + - πŸ“ Persist configuration provided either as typed AppConfig or raw payload dict. - Ζ’ **update_global_settings** (`Function`) `[CRITICAL]` - πŸ“ Replace global settings and persist the resulting configuration. - Ζ’ **validate_path** (`Function`) `[CRITICAL]` @@ -2761,6 +2792,8 @@ - β„‚ **PluginConfig** (`Class`) - πŸ“ A Pydantic model used to represent the validated configuration and metadata of a loaded plugin. This object is what gets exposed to the API layer. - πŸ—οΈ Layer: Core +- πŸ“¦ **src.core** (`Package`) + - πŸ“ Backend core services and infrastructure package root. - πŸ“¦ **backend.src.core.mapping_service** (`Module`) `[CRITICAL]` - πŸ“ Service for tracking and synchronizing Superset Resource IDs (UUID <-> Integer ID) - πŸ—οΈ Layer: Core @@ -2858,6 +2891,8 @@ - πŸ“ Persist dashboard preference entity and return refreshed persistent row. - Ζ’ **list_permissions** (`Function`) `[CRITICAL]` - πŸ“ List all permission entities available in storage. +- πŸ“¦ **src.core.auth** (`Package`) `[CRITICAL]` + - πŸ“ Authentication and authorization package root. - πŸ“¦ **test_auth** (`Module`) - πŸ“ Unit tests for authentication module - πŸ—οΈ Layer: Domain @@ -3048,6 +3083,8 @@ - πŸ”— CALLS -> `self.load_excel_mappings` - πŸ”— CALLS -> `superset_client.get_dataset` - πŸ”— CALLS -> `superset_client.update_dataset` +- πŸ“¦ **src.core.utils** (`Package`) + - πŸ“ Shared utility package root. - πŸ“¦ **backend.src.core.__tests__.test_superset_profile_lookup** (`Module`) - πŸ“ Verifies Superset profile lookup adapter payload normalization and fallback error precedence. - πŸ—οΈ Layer: Domain @@ -3077,6 +3114,15 @@ - πŸ“ Auto-detected function (orphan) - Ζ’ **test_calculate_schedule_very_small_window** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) +- πŸ“¦ **backend.src.core.__tests__.test_config_manager_compat** (`Module`) + - πŸ“ Verifies ConfigManager compatibility wrappers preserve legacy payload sections. + - πŸ—οΈ Layer: Domain + - Ζ’ **test_get_payload_preserves_legacy_sections** (`Function`) + - πŸ“ Ensure get_payload merges typed config into raw payload without dropping legacy sections. + - Ζ’ **test_save_config_accepts_raw_payload_and_keeps_extras** (`Function`) + - πŸ“ Ensure save_config accepts raw dict payload, refreshes typed config, and preserves extra sections. + - Ζ’ **_capture_save** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - πŸ“¦ **test_logger** (`Module`) - πŸ“ Unit tests for logger module - πŸ—οΈ Layer: Infra @@ -3372,6 +3418,8 @@ - πŸ“ Initiates the ADFS OIDC login flow. - Ζ’ **auth_callback_adfs** (`Function`) `[CRITICAL]` - πŸ“ Handles the callback from ADFS after successful authentication. +- πŸ“¦ **src.api** (`Package`) + - πŸ“ Backend API package root. - πŸ“¦ **router** (`Global`) - πŸ“ APIRouter instance for LLM routes. - Ζ’ **_is_valid_runtime_api_key** (`Function`) @@ -4826,6 +4874,8 @@ - πŸ”— DEPENDS_ON -> `backend.src.models.auth` - β„‚ **UserDashboardPreference** (`Class`) - πŸ“ Stores Superset username binding and default "my dashboards" toggle for one authenticated user. +- πŸ“¦ **src.models** (`Package`) + - πŸ“ Domain model package root. - πŸ“¦ **test_models** (`Module`) `[TRIVIAL]` - πŸ“ Unit tests for data models - πŸ—οΈ Layer: Domain @@ -5048,9 +5098,11 @@ - πŸ—οΈ Layer: Domain - πŸ”— DEPENDS_ON -> `backend.src.core.database` - πŸ”— DEPENDS_ON -> `backend.src.models.llm` + - Ζ’ **_require_fernet_key** (`Function`) `[CRITICAL]` + - πŸ“ Load and validate the Fernet key used for secret encryption. - β„‚ **EncryptionManager** (`Class`) `[CRITICAL]` - πŸ“ Handles encryption and decryption of sensitive data like API keys. - - πŸ”’ Invariant: Uses a secret key from environment or a default one (fallback only for dev). + - πŸ”’ Invariant: Uses only a validated secret key from environment. - Ζ’ **EncryptionManager.__init__** (`Function`) - πŸ“ Initialize the encryption manager with a Fernet key. - Ζ’ **EncryptionManager.encrypt** (`Function`) @@ -5266,6 +5318,8 @@ - πŸ“ Decrypting invalid data raises InvalidToken. - Ζ’ **test_encrypt_empty_string** (`Function`) - πŸ“ Encrypting and decrypting an empty string works. + - Ζ’ **test_missing_key_fails_fast** (`Function`) + - πŸ“ Missing ENCRYPTION_KEY must abort initialization instead of using a fallback secret. - Ζ’ **test_custom_key_roundtrip** (`Function`) - πŸ“ Custom Fernet key produces valid roundtrip. - Ζ’ **_make_manager** (`Function`) `[TRIVIAL]` @@ -5452,6 +5506,8 @@ - πŸ“ Auto-detected function (orphan) - Ζ’ **_build_body** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) +- πŸ“¦ **src.services.notifications** (`Package`) + - πŸ“ Notification service package root. - πŸ“¦ **backend.src.services.notifications.__tests__.test_notification_service** (`Module`) - πŸ“ Unit tests for NotificationService routing and dispatch logic. - Ζ’ **mock_db** (`Function`) `[TRIVIAL]` @@ -5577,6 +5633,13 @@ - πŸ“ Create immutable publication record for approved candidate. - Ζ’ **revoke_publication** (`Function`) - πŸ“ Revoke existing publication record without deleting history. +- πŸ“¦ **backend.src.services.clean_release.artifact_catalog_loader** (`Module`) + - πŸ“ Load bootstrap artifact catalogs for clean release real-mode flows. + - πŸ—οΈ Layer: Domain + - πŸ”’ Invariant: Artifact catalog must produce deterministic CandidateArtifact entries with required identity and checksum fields. + - πŸ”— DEPENDS_ON -> `backend.src.models.clean_release.CandidateArtifact` + - Ζ’ **load_bootstrap_artifacts** (`Function`) + - πŸ“ Parse artifact catalog JSON into CandidateArtifact models for TUI/bootstrap flows. - πŸ“¦ **backend.src.services.clean_release.audit_service** (`Module`) - πŸ“ Provide lightweight audit hooks for clean release preparation/check/report lifecycle. - πŸ—οΈ Layer: Infra @@ -6116,6 +6179,8 @@ - πŸ“ Return filtered, sorted, paginated report collection. - Ζ’ **get_report_detail** (`Function`) - πŸ“ Return one normalized report with timeline/diagnostics/next actions. +- πŸ“¦ **src.services.reports** (`Package`) + - πŸ“ Report service package root. - πŸ“¦ **test_type_profiles** (`Module`) `[TRIVIAL]` - πŸ“ Auto-generated module for backend/src/services/reports/__tests__/test_type_profiles.py - πŸ—οΈ Layer: Unknown @@ -6318,6 +6383,8 @@ - πŸ“ Executes the dashboard migration logic with TaskContext support. - πŸ“¦ **MigrationPlugin.execute** (`Action`) `[CRITICAL]` - πŸ“ Execute the migration logic with proper task logging. +- πŸ“¦ **src.plugins** (`Package`) + - πŸ“ Plugin package root for dynamic discovery and runtime imports. - Ζ’ **schedule_dashboard_validation** (`Function`) - πŸ“ Schedules a recurring dashboard validation task. - Ζ’ **_parse_cron** (`Function`) @@ -6462,6 +6529,8 @@ - πŸ—οΈ Layer: Unknown - Ζ’ **__init__** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) +- πŸ“¦ **src.plugins.git** (`Package`) + - πŸ“ Git plugin extension package root. - πŸ“¦ **test_task_persistence** (`Module`) - πŸ“ Unit tests for TaskPersistenceService. - πŸ—οΈ Layer: Test @@ -6780,6 +6849,18 @@ - πŸ“ Auto-detected function (orphan) - Ζ’ **test_ad_group_mapping** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) + - Ζ’ **test_create_admin_creates_user_with_optional_email** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **test_create_admin_is_idempotent_for_existing_user** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **test_ensure_encryption_key_generates_backend_env_file** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **test_ensure_encryption_key_reuses_existing_env_file_value** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **test_ensure_encryption_key_prefers_process_environment** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) + - Ζ’ **verify_fernet_key** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - πŸ“¦ **test_log_persistence** (`Module`) - πŸ“ Unit tests for TaskLogPersistenceService. - πŸ—οΈ Layer: Test @@ -6846,6 +6927,8 @@ - πŸ“ Auto-detected function (orphan) - Ζ’ **test_tui_clear_history_f7** (`Function`) `[TRIVIAL]` - πŸ“ Auto-detected function (orphan) + - Ζ’ **test_tui_real_mode_bootstrap_imports_artifacts_catalog** (`Function`) `[TRIVIAL]` + - πŸ“ Auto-detected function (orphan) - πŸ“¦ **test_clean_release_tui_v2** (`Module`) - πŸ“ Smoke tests for thin-client TUI action dispatch and blocked transition behavior. - πŸ—οΈ Layer: Domain diff --git a/frontend/src/lib/components/assistant/AssistantChatPanel.svelte b/frontend/src/lib/components/assistant/AssistantChatPanel.svelte index e26c5ebd..0aa6a590 100644 --- a/frontend/src/lib/components/assistant/AssistantChatPanel.svelte +++ b/frontend/src/lib/components/assistant/AssistantChatPanel.svelte @@ -260,7 +260,7 @@ }); $effect(() => { - if (isOpen && initialized && conversationId) { + if (isOpen && initialized && conversationId && !loading) { const currentFirstConversationId = messages.length ? messages[0].conversation_id : conversationId; @@ -276,7 +276,7 @@ * @PRE: text is non-empty command text. * @POST: user message appears at the end of messages list. */ - function appendLocalUserMessage(text) { + function appendLocalUserMessage(text, targetConversationId = conversationId) { console.log("[AssistantChatPanel][message][appendLocalUserMessage][START]"); messages = [ ...messages, @@ -285,6 +285,7 @@ role: "user", text, created_at: new Date().toISOString(), + conversation_id: targetConversationId || null, }, ]; } @@ -296,7 +297,10 @@ * @PRE: response follows assistant message response contract. * @POST: assistant message appended with state/task/actions metadata. */ - function appendAssistantResponse(response) { + function appendAssistantResponse( + response, + targetConversationId = conversationId, + ) { // prettier-ignore console.log("[AssistantChatPanel][message][appendAssistantResponse][START]"); messages = [ @@ -310,6 +314,7 @@ confirmation_id: response.confirmation_id || null, actions: response.actions || [], created_at: response.created_at, + conversation_id: response.conversation_id || targetConversationId || null, }, ]; } @@ -349,14 +354,15 @@ console.log("[AssistantChatPanel][message][handleSend][START]"); const text = input.trim(); if (!text || loading) return; + const requestConversationId = conversationId; - appendLocalUserMessage(text); + appendLocalUserMessage(text, requestConversationId); input = ""; loading = true; try { const response = await sendAssistantMessage({ - conversation_id: conversationId, + conversation_id: requestConversationId, message: text, }); @@ -364,7 +370,10 @@ setAssistantConversationId(response.conversation_id); } - appendAssistantResponse(response); + appendAssistantResponse( + response, + response.conversation_id || requestConversationId, + ); await loadConversations(true); } catch (err) { appendAssistantResponse({ @@ -414,6 +423,7 @@ typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" ? crypto.randomUUID() : `conv-${Date.now()}`; + historyLoadVersion += 1; setAssistantConversationId(newId); messages = []; historyPage = 1; diff --git a/frontend/src/lib/components/assistant/__tests__/assistant_chat.integration.test.js b/frontend/src/lib/components/assistant/__tests__/assistant_chat.integration.test.js index 34f0dd2d..fcce626a 100644 --- a/frontend/src/lib/components/assistant/__tests__/assistant_chat.integration.test.js +++ b/frontend/src/lib/components/assistant/__tests__/assistant_chat.integration.test.js @@ -67,6 +67,15 @@ describe('AssistantChatPanel integration contract', () => { expect(source).toContain('goto("/reports")'); }); + it('guards first-message optimistic flow from premature history overwrite', () => { + const source = fs.readFileSync(COMPONENT_PATH, 'utf-8'); + + expect(source).toContain('if (isOpen && initialized && conversationId && !loading)'); + expect(source).toContain('function appendLocalUserMessage(text, targetConversationId = conversationId)'); + expect(source).toContain('conversation_id: targetConversationId || null'); + expect(source).toContain('historyLoadVersion += 1;'); + }); + it('uses i18n bindings for assistant UI labels', () => { const source = fs.readFileSync(COMPONENT_PATH, 'utf-8'); diff --git a/frontend/src/lib/components/assistant/__tests__/assistant_first_message.integration.test.js b/frontend/src/lib/components/assistant/__tests__/assistant_first_message.integration.test.js new file mode 100644 index 00000000..5ddc62e5 --- /dev/null +++ b/frontend/src/lib/components/assistant/__tests__/assistant_first_message.integration.test.js @@ -0,0 +1,178 @@ +// [DEF:frontend.src.lib.components.assistant.__tests__.assistant_first_message_integration:Module] +// @TIER: STANDARD +// @SEMANTICS: assistant, integration-test, optimistic-message, conversation-race +// @PURPOSE: Verify first optimistic user message stays visible while a new conversation request is pending. +// @LAYER: UI Tests +// @RELATION: VERIFIES -> frontend/src/lib/components/assistant/AssistantChatPanel.svelte +// @INVARIANT: Starting a new conversation must not trigger history reload that overwrites the first local user message. + +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import { render, screen, fireEvent, waitFor } from '@testing-library/svelte'; +import AssistantChatPanel from '../AssistantChatPanel.svelte'; +import * as assistantApi from '$lib/api/assistant'; + +const { assistantState } = vi.hoisted(() => ({ + assistantState: (() => { + let value = { isOpen: true, conversationId: null }; + const subscribers = new Set(); + return { + subscribe(fn) { + subscribers.add(fn); + fn(value); + return () => subscribers.delete(fn); + }, + set(next) { + value = next; + subscribers.forEach((fn) => fn(value)); + }, + update(updater) { + value = updater(value); + subscribers.forEach((fn) => fn(value)); + }, + }; + })(), +})); + +vi.mock('$lib/api/assistant', () => ({ + getAssistantHistory: vi.fn(() => + Promise.resolve({ items: [], total: 0, has_next: false }), + ), + getAssistantConversations: vi.fn(() => + Promise.resolve({ + items: [], + total: 0, + has_next: false, + active_total: 0, + archived_total: 0, + }), + ), + deleteAssistantConversation: vi.fn(), + confirmAssistantOperation: vi.fn(), + cancelAssistantOperation: vi.fn(), + sendAssistantMessage: vi.fn(), +})); + +vi.mock('$lib/api', () => ({ + api: { + getLlmStatus: vi.fn(() => Promise.resolve({ configured: true, reason: 'ok' })), + }, +})); + +vi.mock('$lib/stores/assistantChat', () => ({ + assistantChatStore: { + subscribe: assistantState.subscribe, + }, + closeAssistantChat: vi.fn(), + setAssistantConversationId: vi.fn((conversationId) => { + assistantState.update((state) => ({ ...state, conversationId })); + }), +})); + +vi.mock('$lib/stores/taskDrawer.js', () => ({ + openDrawerForTask: vi.fn(), +})); + +vi.mock('$app/navigation', () => ({ + goto: vi.fn(), +})); + +vi.mock('../../../../services/gitService.js', () => ({ + gitService: { + getDiff: vi.fn(), + }, +})); + +vi.mock('$lib/i18n', () => ({ + t: { + subscribe: (fn) => { + fn({ + assistant: { + title: 'Assistant', + close: 'Close', + conversations: 'Conversations', + new: 'New', + active: 'Active', + archived: 'Archived', + more: 'More', + loading_history: 'Loading history', + loading_older: 'Loading older', + try_commands: 'Try commands', + sample_command_branch: 'branch', + sample_command_migration: 'migration', + sample_command_status: 'status', + you: 'You', + assistant: 'Assistant', + thinking: 'Thinking', + input_placeholder: 'Type command', + send: 'Send', + conversation: 'Conversation', + states: { + success: 'Success', + failed: 'Failed', + started: 'Started', + }, + open_task_drawer: 'Open task drawer', + }, + dashboard: {}, + }); + return () => {}; + }, + }, +})); + +// [DEF:assistant_first_message_tests:Function] +// @TIER: STANDARD +// @PURPOSE: Guard optimistic first-message UX against history reload race in new conversation flow. +// @PRE: Assistant panel renders with open state and mocked network dependencies. +// @POST: First user message remains visible before pending send request resolves. +describe('AssistantChatPanel first message flow', () => { + beforeEach(() => { + vi.clearAllMocks(); + assistantState.set({ isOpen: true, conversationId: null }); + }); + + it('keeps the first optimistic user message visible during pending send in a new conversation', async () => { + let resolveSend; + assistantApi.sendAssistantMessage.mockImplementation( + (payload) => + new Promise((resolve) => { + resolveSend = () => + resolve({ + response_id: 'resp-1', + conversation_id: payload.conversation_id, + text: 'Started', + state: 'success', + created_at: new Date().toISOString(), + actions: [], + }); + }), + ); + + render(AssistantChatPanel); + + await waitFor(() => { + expect(assistantApi.getAssistantHistory).toHaveBeenCalledTimes(1); + }); + + await fireEvent.click(screen.getByText('New')); + + const input = screen.getByPlaceholderText('Type command'); + await fireEvent.input(input, { target: { value: 'first prompt' } }); + await fireEvent.click(screen.getByText('Send')); + + expect(screen.getByText('first prompt')).toBeTruthy(); + expect(assistantApi.sendAssistantMessage).toHaveBeenCalledTimes(1); + + await waitFor(() => { + expect(assistantApi.getAssistantHistory).toHaveBeenCalledTimes(1); + }); + + resolveSend(); + + await waitFor(() => { + expect(screen.getByText('Started')).toBeTruthy(); + }); + }); +}); +// [/DEF:assistant_first_message_tests:Function] +// [/DEF:frontend.src.lib.components.assistant.__tests__.assistant_first_message_integration:Module] diff --git a/frontend/src/lib/i18n/locales/en.json b/frontend/src/lib/i18n/locales/en.json index 7a798f36..68c3d320 100644 --- a/frontend/src/lib/i18n/locales/en.json +++ b/frontend/src/lib/i18n/locales/en.json @@ -79,7 +79,7 @@ "environment_label": "Environment:", "all_environments": "All Environments", "validation_details": "Validation Details", - "table_dashboard": "Dashboard", + "table_dashboard": "Slug", "table_environment": "Environment", "table_status": "Status", "table_last_check": "Last Check", @@ -87,6 +87,9 @@ "no_records": "No validation records found.", "no_records_for_environment": "No validation records found for this environment.", "view_report": "View Report", + "delete_confirm": "Delete report for dashboard \"{slug}\"?", + "delete_success": "Report for dashboard \"{slug}\" deleted.", + "delete_failed": "Failed to delete report: {error}", "load_failed": "Failed to load health summary", "status_pass": "Pass", "status_warn": "Warn", diff --git a/frontend/src/lib/i18n/locales/ru.json b/frontend/src/lib/i18n/locales/ru.json index b45bded5..df34b423 100644 --- a/frontend/src/lib/i18n/locales/ru.json +++ b/frontend/src/lib/i18n/locales/ru.json @@ -79,7 +79,7 @@ "environment_label": "ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:", "all_environments": "ВсС окруТСния", "validation_details": "Π”Π΅Ρ‚Π°Π»ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ", - "table_dashboard": "Π”Π°ΡˆΠ±ΠΎΡ€Π΄", + "table_dashboard": "Slug", "table_environment": "ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅", "table_status": "Бтатус", "table_last_check": "ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°", @@ -87,6 +87,9 @@ "no_records": "Записи Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹.", "no_records_for_environment": "Для этого окруТСния записи Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹.", "view_report": "ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚", + "delete_confirm": "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ для Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π° \"{slug}\"?", + "delete_success": "ΠžΡ‚Ρ‡Π΅Ρ‚ для Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π° \"{slug}\" ΡƒΠ΄Π°Π»Ρ‘Π½.", + "delete_failed": "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚: {error}", "load_failed": "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сводку Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ", "status_pass": "УспСх", "status_warn": "ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅", diff --git a/frontend/src/routes/dashboards/health/+page.svelte b/frontend/src/routes/dashboards/health/+page.svelte index 8303c012..95feecad 100644 --- a/frontend/src/routes/dashboards/health/+page.svelte +++ b/frontend/src/routes/dashboards/health/+page.svelte @@ -3,16 +3,19 @@ @TIER: STANDARD @PURPOSE: Main page for the Dashboard Health Center. @LAYER: UI/Page + @RELATION: DEPENDS_ON -> frontend.src.lib.components.health.HealthMatrix + @RELATION: CALLS -> frontend.src.lib.api.api_module @UX_STATE: Idle -> Displays the Health Center with HealthMatrix. @UX_STATE: Loading -> Displays a skeleton or spinner. @UX_STATE: Error -> Displays an error message. - @UX_REATIVITY: State: $state, Derived: $derived. + @UX_REACTIVITY: State: $state, Derived: $derived. -->
@@ -136,8 +179,13 @@ {:else} {#each healthData.items as item} - - {item.dashboard_title || item.dashboard_id} + + + {item.dashboard_slug || item.dashboard_id} + {item.environment_id} @@ -161,6 +209,14 @@ {#if item.task_id} {$t.health?.view_report} {/if} + {/each} diff --git a/frontend/src/routes/dashboards/health/__tests__/health_page.integration.test.js b/frontend/src/routes/dashboards/health/__tests__/health_page.integration.test.js new file mode 100644 index 00000000..2e23d112 --- /dev/null +++ b/frontend/src/routes/dashboards/health/__tests__/health_page.integration.test.js @@ -0,0 +1,35 @@ +// [DEF:frontend.src.routes.dashboards.health.__tests__.health_page_integration:Module] +// @TIER: STANDARD +// @SEMANTICS: health-page, integration-test, slug-link, delete-flow +// @PURPOSE: Lock dashboard health page contract for slug navigation and report deletion. +// @LAYER: UI Tests +// @RELATION: VERIFIES -> frontend/src/routes/dashboards/health/+page.svelte + +import { describe, it, expect } from 'vitest'; +import fs from 'node:fs'; +import path from 'node:path'; + +const PAGE_PATH = path.resolve( + process.cwd(), + 'src/routes/dashboards/health/+page.svelte', +); + +describe('Dashboard health page contract', () => { + it('renders slug-first dashboard link bound to environment route context', () => { + const source = fs.readFileSync(PAGE_PATH, 'utf-8'); + + expect(source).toContain("{$t.health?.table_dashboard}"); + expect(source).toContain("item.dashboard_slug || item.dashboard_id"); + expect(source).toContain("href={`/dashboards/${encodeURIComponent(String(item.dashboard_slug || item.dashboard_id))}?env_id=${encodeURIComponent(item.environment_id)}`}"); + }); + + it('keeps explicit delete report flow with confirm and DELETE request', () => { + const source = fs.readFileSync(PAGE_PATH, 'utf-8'); + + expect(source).toContain('async function handleDeleteReport(item)'); + expect(source).toContain("requestApi(`/health/summary/${item.record_id}`, 'DELETE')"); + expect(source).toContain("$t.health?.delete_confirm.replace('{slug}', item.dashboard_slug || item.dashboard_id)"); + expect(source).toContain("$t.common?.delete"); + }); +}); +// [/DEF:frontend.src.routes.dashboards.health.__tests__.health_page_integration:Module] diff --git a/semantics/semantic_map.json b/semantics/semantic_map.json index a30738a9..40dd2358 100644 --- a/semantics/semantic_map.json +++ b/semantics/semantic_map.json @@ -1,45 +1,7 @@ { "project_root": ".", - "generated_at": "2026-03-10T20:52:01.456257", + "generated_at": "2026-03-14T09:20:49.985926", "modules": [ - { - "name": "check_test_data", - "type": "Module", - "tier": "TRIVIAL", - "start_line": 1, - "end_line": 27, - "tags": { - "PURPOSE": "Auto-generated module for check_test_data.py", - "TIER": "TRIVIAL", - "LAYER": "Unknown" - }, - "relations": [], - "children": [ - { - "name": "check_file", - "type": "Function", - "tier": "TRIVIAL", - "start_line": 3, - "end_line": 3, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - } - ], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, { "name": "generate_semantic_map", "type": "Module", @@ -6917,7 +6879,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 837, + "end_line": 845, "tags": { "TIER": "CRITICAL", "PURPOSE": "Slide-out assistant chat panel for natural language command execution and task tracking.", @@ -6941,8 +6903,8 @@ "name": "loadHistory", "type": "Function", "tier": "STANDARD", - "start_line": 90, - "end_line": 136, + "start_line": 94, + "end_line": 140, "tags": { "PURPOSE": "Load current conversation history when panel becomes visible.", "PRE": "Panel is open and history request is not already running.", @@ -6957,22 +6919,22 @@ { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 94 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 94 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 94 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 94 } ], "score": 0.34 @@ -6982,8 +6944,8 @@ "name": "loadConversations", "type": "Function", "tier": "STANDARD", - "start_line": 138, - "end_line": 177, + "start_line": 142, + "end_line": 181, "tags": { "PURPOSE": "Load paginated conversation summaries for quick switching UI.", "PRE": "Panel is open and request not already running.", @@ -6997,32 +6959,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 138 + "line_number": 142 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 138 + "line_number": 142 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 138 + "line_number": 142 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 138 + "line_number": 142 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 138 + "line_number": 142 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 138 + "line_number": 142 } ], "score": 0.0 @@ -7032,8 +6994,8 @@ "name": "removeConversation", "type": "Function", "tier": "STANDARD", - "start_line": 179, - "end_line": 203, + "start_line": 183, + "end_line": 208, "tags": { "PURPOSE": "Removes a conversation from the list and deletes it from the backend.", "PRE": "conversationId string is provided.", @@ -7047,32 +7009,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 179 + "line_number": 183 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 179 + "line_number": 183 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 179 + "line_number": 183 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 179 + "line_number": 183 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 179 + "line_number": 183 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 179 + "line_number": 183 } ], "score": 0.0 @@ -7082,8 +7044,8 @@ "name": "loadOlderMessages", "type": "Function", "tier": "STANDARD", - "start_line": 205, - "end_line": 247, + "start_line": 210, + "end_line": 252, "tags": { "PURPOSE": "Lazy-load older messages for active conversation when user scrolls to top.", "PRE": "History has next page and active conversation is known.", @@ -7097,32 +7059,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 205 + "line_number": 210 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 205 + "line_number": 210 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 205 + "line_number": 210 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 205 + "line_number": 210 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 205 + "line_number": 210 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 205 + "line_number": 210 } ], "score": 0.0 @@ -7132,8 +7094,8 @@ "name": "appendLocalUserMessage", "type": "Function", "tier": "STANDARD", - "start_line": 265, - "end_line": 283, + "start_line": 273, + "end_line": 291, "tags": { "PURPOSE": "Add optimistic local user message before backend response.", "PRE": "text is non-empty command text.", @@ -7147,32 +7109,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 265 + "line_number": 273 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 265 + "line_number": 273 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 265 + "line_number": 273 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 265 + "line_number": 273 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 265 + "line_number": 273 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 265 + "line_number": 273 } ], "score": 0.0 @@ -7182,8 +7144,8 @@ "name": "appendAssistantResponse", "type": "Function", "tier": "STANDARD", - "start_line": 285, - "end_line": 308, + "start_line": 293, + "end_line": 316, "tags": { "PURPOSE": "Normalize and append assistant response payload to chat list.", "PRE": "response follows assistant message response contract.", @@ -7197,32 +7159,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 293 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 293 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 293 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 293 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 293 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 293 } ], "score": 0.0 @@ -7232,8 +7194,8 @@ "name": "handleSend", "type": "Function", "tier": "STANDARD", - "start_line": 333, - "end_line": 373, + "start_line": 341, + "end_line": 381, "tags": { "PURPOSE": "Submit user command to assistant orchestration API.", "PRE": "input contains a non-empty command and current request is not loading.", @@ -7248,22 +7210,22 @@ { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 333 + "line_number": 341 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 333 + "line_number": 341 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 333 + "line_number": 341 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 333 + "line_number": 341 } ], "score": 0.34 @@ -7273,8 +7235,8 @@ "name": "selectConversation", "type": "Function", "tier": "STANDARD", - "start_line": 375, - "end_line": 394, + "start_line": 383, + "end_line": 402, "tags": { "PURPOSE": "Switch active chat context to selected conversation item.", "PRE": "conversation carries valid conversation_id.", @@ -7288,32 +7250,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 383 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 383 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 383 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 383 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 383 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 383 } ], "score": 0.0 @@ -7323,8 +7285,8 @@ "name": "startNewConversation", "type": "Function", "tier": "STANDARD", - "start_line": 396, - "end_line": 415, + "start_line": 404, + "end_line": 423, "tags": { "PURPOSE": "Create local empty chat context that will be persisted on first message.", "PRE": "Panel is open.", @@ -7338,32 +7300,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 396 + "line_number": 404 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 396 + "line_number": 404 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 396 + "line_number": 404 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 396 + "line_number": 404 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 396 + "line_number": 404 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 396 + "line_number": 404 } ], "score": 0.0 @@ -7373,8 +7335,8 @@ "name": "handleAction", "type": "Function", "tier": "STANDARD", - "start_line": 417, - "end_line": 496, + "start_line": 425, + "end_line": 504, "tags": { "PURPOSE": "Execute assistant action button behavior (open task/reports, confirm, cancel).", "PRE": "action object is produced by assistant response contract.", @@ -7389,22 +7351,22 @@ { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 417 + "line_number": 425 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 417 + "line_number": 425 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 417 + "line_number": 425 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 417 + "line_number": 425 } ], "score": 0.34 @@ -7414,8 +7376,8 @@ "name": "handleKeydown", "type": "Function", "tier": "STANDARD", - "start_line": 498, - "end_line": 511, + "start_line": 506, + "end_line": 519, "tags": { "PURPOSE": "Submit command by Enter while preserving multiline input with Shift+Enter.", "PRE": "Keyboard event received from chat input.", @@ -7429,32 +7391,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 498 + "line_number": 506 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 498 + "line_number": 506 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 498 + "line_number": 506 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 498 + "line_number": 506 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 498 + "line_number": 506 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 498 + "line_number": 506 } ], "score": 0.0 @@ -7464,8 +7426,8 @@ "name": "stateClass", "type": "Function", "tier": "STANDARD", - "start_line": 513, - "end_line": 532, + "start_line": 521, + "end_line": 540, "tags": { "PURPOSE": "Map assistant state to visual badge style class.", "PRE": "state is a nullable assistant state string.", @@ -7479,32 +7441,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 513 + "line_number": 521 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 513 + "line_number": 521 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 513 + "line_number": 521 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 513 + "line_number": 521 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 513 + "line_number": 521 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 513 + "line_number": 521 } ], "score": 0.0 @@ -7514,8 +7476,8 @@ "name": "handleHistoryScroll", "type": "Function", "tier": "STANDARD", - "start_line": 534, - "end_line": 548, + "start_line": 542, + "end_line": 556, "tags": { "PURPOSE": "Trigger lazy history fetch when user scroll reaches top boundary.", "PRE": "Scroll event emitted by history viewport container.", @@ -7529,32 +7491,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 542 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 542 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 542 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 542 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 542 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 542 } ], "score": 0.0 @@ -7568,14 +7530,9 @@ "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `$:` reactive label is forbidden; use runes `$state/$derived/$effect`", - "severity": "WARNING", - "line_number": 1 } ], - "score": 0.657142857142857 + "score": 0.8071428571428572 }, "data_flow": [ { @@ -7583,11 +7540,6 @@ "type": "READS_FROM", "line": 44 }, - { - "store": "lib", - "type": "READS_FROM", - "line": 45 - }, { "store": "lib", "type": "READS_FROM", @@ -7601,12 +7553,12 @@ { "store": "lib", "type": "READS_FROM", - "line": 52 + "line": 48 }, { "store": "lib", "type": "READS_FROM", - "line": 60 + "line": 53 }, { "store": "lib", @@ -7614,119 +7566,204 @@ "line": 61 }, { - "store": "assistantChatStore", + "store": "lib", "type": "READS_FROM", - "line": 87 + "line": 62 }, { - "store": "assistantChatStore", - "type": "READS_FROM", - "line": 88 + "store": "state", + "type": "WRITES_TO", + "line": 68 }, { - "store": "assistantChatStore", - "type": "READS_FROM", - "line": 194 + "store": "state", + "type": "WRITES_TO", + "line": 69 }, { - "store": "assistantChatStore", - "type": "READS_FROM", - "line": 195 + "store": "state", + "type": "WRITES_TO", + "line": 70 }, { - "store": "assistantChatStore", + "store": "state", + "type": "WRITES_TO", + "line": 71 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 72 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 73 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 74 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 75 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 76 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 77 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 78 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 79 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 80 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 81 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 82 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 83 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 84 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 85 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 86 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 89 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 90 + }, + { + "store": "effect", "type": "READS_FROM", - "line": 196 + "line": 254 + }, + { + "store": "effect", + "type": "READS_FROM", + "line": 262 }, { "store": "t", "type": "READS_FROM", - "line": 312 + "line": 320 }, { "store": "t", "type": "READS_FROM", - "line": 313 + "line": 321 }, { "store": "t", "type": "READS_FROM", - "line": 364 + "line": 372 }, { "store": "t", "type": "READS_FROM", - "line": 489 + "line": 497 }, { "store": "t", "type": "READS_FROM", - "line": 582 + "line": 590 }, { "store": "t", "type": "WRITES_TO", - "line": 588 + "line": 596 }, { "store": "t", "type": "READS_FROM", - "line": 600 + "line": 608 }, { "store": "t", "type": "READS_FROM", - "line": 604 + "line": 612 }, { "store": "t", "type": "READS_FROM", - "line": 607 + "line": 615 }, { "store": "t", "type": "READS_FROM", - "line": 610 + "line": 618 }, { "store": "t", "type": "READS_FROM", - "line": 621 + "line": 629 }, { "store": "t", "type": "READS_FROM", - "line": 627 + "line": 635 }, { "store": "t", "type": "READS_FROM", - "line": 638 + "line": 646 }, { "store": "t", "type": "READS_FROM", - "line": 647 + "line": 655 }, { "store": "t", "type": "READS_FROM", - "line": 689 + "line": 697 }, { "store": "t", "type": "READS_FROM", - "line": 704 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 711 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 717 + "line": 712 }, { "store": "t", @@ -7736,22 +7773,27 @@ { "store": "t", "type": "READS_FROM", - "line": 720 + "line": 725 }, { "store": "t", "type": "READS_FROM", - "line": 721 + "line": 727 }, { "store": "t", "type": "READS_FROM", - "line": 738 + "line": 728 }, { "store": "t", "type": "READS_FROM", - "line": 739 + "line": 729 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 746 }, { "store": "t", @@ -7761,32 +7803,37 @@ { "store": "t", "type": "READS_FROM", - "line": 760 + "line": 755 }, { "store": "t", "type": "READS_FROM", - "line": 766 + "line": 768 }, { "store": "t", "type": "READS_FROM", - "line": 799 + "line": 774 }, { "store": "t", "type": "READS_FROM", - "line": 803 + "line": 807 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 811 }, { "store": "t", "type": "WRITES_TO", - "line": 818 + "line": 826 }, { "store": "t", "type": "READS_FROM", - "line": 829 + "line": 837 } ] }, @@ -7795,7 +7842,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 875, + "end_line": 883, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/assistant/AssistantChatPanel.svelte", "TIER": "TRIVIAL", @@ -7807,8 +7854,8 @@ "name": "buildConversationTitle", "type": "Function", "tier": "TRIVIAL", - "start_line": 310, - "end_line": 310, + "start_line": 318, + "end_line": 318, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -7825,8 +7872,8 @@ "name": "setConversationFilter", "type": "Function", "tier": "TRIVIAL", - "start_line": 316, - "end_line": 316, + "start_line": 324, + "end_line": 324, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -7843,8 +7890,8 @@ "name": "formatConversationTime", "type": "Function", "tier": "TRIVIAL", - "start_line": 326, - "end_line": 326, + "start_line": 334, + "end_line": 334, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -7861,8 +7908,8 @@ "name": "loadLlmStatus", "type": "Function", "tier": "TRIVIAL", - "start_line": 554, - "end_line": 554, + "start_line": 562, + "end_line": 562, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -7880,7 +7927,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 875 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 883 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -8034,7 +8081,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 79, + "end_line": 81, "tags": { "TIER": "STANDARD", "PURPOSE": "Visual grid/matrix representing the health status of dashboards.", @@ -8077,15 +8124,50 @@ "type": "READS_FROM", "line": 9 }, + { + "store": "lib", + "type": "READS_FROM", + "line": 12 + }, { "store": "props", "type": "WRITES_TO", - "line": 27 + "line": 29 }, { "store": "derived", "type": "WRITES_TO", - "line": 30 + "line": 32 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 44 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 51 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 56 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 61 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 66 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 72 } ] }, @@ -8094,7 +8176,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 180, + "end_line": 195, "tags": { "TIER": "STANDARD", "PURPOSE": "Form for creating and editing validation policies.", @@ -8146,22 +8228,27 @@ { "store": "state", "type": "WRITES_TO", - "line": 16 + "line": 37 }, { "store": "state", "type": "WRITES_TO", - "line": 27 + "line": 38 + }, + { + "store": "effect", + "type": "READS_FROM", + "line": 40 }, { "store": "derived", "type": "WRITES_TO", - "line": 45 + "line": 60 }, { "store": "derived", "type": "WRITES_TO", - "line": 54 + "line": 69 } ] }, @@ -8170,7 +8257,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 180, + "end_line": 195, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/health/PolicyForm.svelte", "TIER": "TRIVIAL", @@ -8178,12 +8265,66 @@ }, "relations": [], "children": [ + { + "name": "getSafePolicy", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 16, + "end_line": 16, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "getSafeEnvironments", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 20, + "end_line": 20, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "buildFormData", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 24, + "end_line": 24, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "handleSubmit", "type": "Function", "tier": "TRIVIAL", - "start_line": 56, - "end_line": 56, + "start_line": 71, + "end_line": 71, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -8200,8 +8341,8 @@ "name": "toggleDay", "type": "Function", "tier": "TRIVIAL", - "start_line": 66, - "end_line": 66, + "start_line": 81, + "end_line": 81, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -8226,7 +8367,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 104, + "end_line": 101, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, card, type-profile, accessibility, fallback", @@ -8254,29 +8395,36 @@ ], "score": 0.8071428571428572 }, - "events": [ - "select" - ], "data_flow": [ { "store": "lib", "type": "READS_FROM", - "line": 32 + "line": 31 }, { "store": "props", "type": "WRITES_TO", - "line": 35 + "line": 34 }, { "store": "derived", "type": "WRITES_TO", - "line": 38 + "line": 36 }, { "store": "derived", "type": "WRITES_TO", - "line": 39 + "line": 37 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 54 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 55 }, { "store": "t", @@ -8290,18 +8438,13 @@ }, { "store": "t", - "type": "WRITES_TO", + "type": "READS_FROM", "line": 58 }, - { - "store": "t", - "type": "WRITES_TO", - "line": 59 - }, { "store": "t", "type": "READS_FROM", - "line": 60 + "line": 62 }, { "store": "t", @@ -8310,33 +8453,28 @@ }, { "store": "t", - "type": "READS_FROM", - "line": 66 + "type": "WRITES_TO", + "line": 78 }, { "store": "t", "type": "WRITES_TO", - "line": 81 + "line": 78 }, { "store": "t", "type": "WRITES_TO", - "line": 81 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 81 + "line": 78 }, { "store": "t", "type": "READS_FROM", - "line": 88 + "line": 85 }, { "store": "t", "type": "READS_FROM", - "line": 99 + "line": 96 } ] }, @@ -8345,7 +8483,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 104, + "end_line": 101, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/reports/ReportCard.svelte", "TIER": "TRIVIAL", @@ -8357,8 +8495,8 @@ "name": "getStatusClass", "type": "Function", "tier": "TRIVIAL", - "start_line": 43, - "end_line": 43, + "start_line": 41, + "end_line": 41, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -8375,8 +8513,8 @@ "name": "getStatusLabel", "type": "Function", "tier": "TRIVIAL", - "start_line": 55, - "end_line": 55, + "start_line": 53, + "end_line": 53, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -8393,8 +8531,8 @@ "name": "formatDate", "type": "Function", "tier": "TRIVIAL", - "start_line": 63, - "end_line": 63, + "start_line": 61, + "end_line": 61, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -8411,8 +8549,8 @@ "name": "onSelect", "type": "Function", "tier": "TRIVIAL", - "start_line": 70, - "end_line": 70, + "start_line": 68, + "end_line": 68, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9116,7 +9254,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 309, + "end_line": 329, "tags": { "TIER": "CRITICAL", "PURPOSE": "Persistent left sidebar with resource categories navigation", @@ -9141,14 +9279,9 @@ "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `$:` reactive label is forbidden; use runes `$state/$derived/$effect`", - "severity": "WARNING", - "line_number": 1 } ], - "score": 0.657142857142857 + "score": 0.8071428571428572 }, "data_flow": [ { @@ -9156,11 +9289,6 @@ "type": "READS_FROM", "line": 31 }, - { - "store": "lib", - "type": "READS_FROM", - "line": 37 - }, { "store": "lib", "type": "READS_FROM", @@ -9169,7 +9297,7 @@ { "store": "lib", "type": "READS_FROM", - "line": 40 + "line": 39 }, { "store": "lib", @@ -9182,119 +9310,74 @@ "line": 42 }, { - "store": "app", + "store": "lib", "type": "READS_FROM", "line": 43 }, { - "store": "lib", + "store": "app", "type": "READS_FROM", "line": 44 }, { - "store": "sidebarStore", + "store": "lib", "type": "READS_FROM", - "line": 55 + "line": 45 }, { - "store": "sidebarStore", + "store": "derived", "type": "WRITES_TO", - "line": 56 + "line": 52 }, { - "store": "sidebarStore", - "type": "WRITES_TO", - "line": 57 - }, - { - "store": "sidebarStore", - "type": "WRITES_TO", - "line": 58 - }, - { - "store": "sidebarStore", + "store": "derived", "type": "WRITES_TO", "line": 59 }, { - "store": "t", - "type": "READS_FROM", + "store": "derived", + "type": "WRITES_TO", + "line": 60 + }, + { + "store": "derived", + "type": "WRITES_TO", "line": 63 }, { - "store": "auth", - "type": "READS_FROM", - "line": 63 + "store": "derived", + "type": "WRITES_TO", + "line": 64 }, { - "store": "page", - "type": "READS_FROM", - "line": 83 + "store": "derived", + "type": "WRITES_TO", + "line": 65 }, { - "store": "page", - "type": "READS_FROM", - "line": 83 + "store": "state", + "type": "WRITES_TO", + "line": 66 }, { - "store": "page", + "store": "effect", "type": "READS_FROM", "line": 85 }, { - "store": "page", + "store": "effect", "type": "READS_FROM", - "line": 87 + "line": 98 }, { - "store": "page", - "type": "WRITES_TO", - "line": 92 - }, - { - "store": "page", + "store": "effect", "type": "READS_FROM", - "line": 148 + "line": 105 }, { - "store": "t", + "store": "effect", "type": "READS_FROM", - "line": 191 - }, - { - "store": "failingCount", - "type": "WRITES_TO", - "line": 222 - }, - { - "store": "failingCount", - "type": "WRITES_TO", - "line": 232 - }, - { - "store": "failingCount", - "type": "WRITES_TO", - "line": 235 - }, - { - "store": "failingCount", - "type": "READS_FROM", - "line": 237 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 292 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 300 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 303 + "line": 165 } ] }, @@ -9303,7 +9386,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 309, + "end_line": 329, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/Sidebar.svelte", "TIER": "TRIVIAL", @@ -9311,12 +9394,48 @@ }, "relations": [], "children": [ + { + "name": "withExpandedCategory", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 68, + "end_line": 68, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "toggleExpandedCategory", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 74, + "end_line": 74, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "handleItemClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 96, - "end_line": 96, + "start_line": 119, + "end_line": 119, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9333,8 +9452,8 @@ "name": "handleCategoryToggle", "type": "Function", "tier": "TRIVIAL", - "start_line": 105, - "end_line": 105, + "start_line": 128, + "end_line": 128, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9351,8 +9470,8 @@ "name": "handleSubItemClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 127, - "end_line": 127, + "start_line": 144, + "end_line": 144, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9369,8 +9488,8 @@ "name": "handleToggleClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 136, - "end_line": 136, + "start_line": 153, + "end_line": 153, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9387,8 +9506,8 @@ "name": "handleOverlayClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 142, - "end_line": 142, + "start_line": 159, + "end_line": 159, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9406,7 +9525,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 309 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 329 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -9419,7 +9538,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 558, + "end_line": 569, "tags": { "TIER": "CRITICAL", "PURPOSE": "Unified top navigation bar with Logo, Search, Activity, and User menu", @@ -9445,18 +9564,10 @@ "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `$:` reactive label is forbidden; use runes `$state/$derived/$effect`", - "severity": "WARNING", - "line_number": 1 } ], - "score": 0.657142857142857 + "score": 0.8071428571428572 }, - "events": [ - "activityClick" - ], "data_flow": [ { "store": "app", @@ -9529,129 +9640,169 @@ "line": 57 }, { - "store": "sidebarStore", - "type": "READS_FROM", - "line": 73 + "store": "state", + "type": "WRITES_TO", + "line": 60 }, { - "store": "activityStore", - "type": "READS_FROM", - "line": 74 + "store": "state", + "type": "WRITES_TO", + "line": 61 }, { - "store": "activityStore", - "type": "READS_FROM", - "line": 75 + "store": "state", + "type": "WRITES_TO", + "line": 62 }, { - "store": "auth", - "type": "READS_FROM", - "line": 76 + "store": "state", + "type": "WRITES_TO", + "line": 63 }, { - "store": "environmentContextStore", - "type": "READS_FROM", + "store": "state", + "type": "WRITES_TO", + "line": 64 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 65 + }, + { + "store": "derived", + "type": "WRITES_TO", "line": 78 }, { - "store": "environmentContextStore", - "type": "READS_FROM", + "store": "derived", + "type": "WRITES_TO", "line": 79 }, { - "store": "selectedEnvironmentStore", - "type": "READS_FROM", + "store": "derived", + "type": "WRITES_TO", "line": 80 }, { - "store": "t", - "type": "READS_FROM", - "line": 218 + "store": "derived", + "type": "WRITES_TO", + "line": 81 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 82 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 85 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 88 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 91 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 92 }, { "store": "t", "type": "READS_FROM", - "line": 225 + "line": 229 }, { "store": "t", "type": "READS_FROM", - "line": 232 + "line": 236 }, { "store": "t", "type": "READS_FROM", - "line": 239 + "line": 243 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 250 }, { "store": "t", "type": "WRITES_TO", - "line": 362 + "line": 373 }, { "store": "t", "type": "READS_FROM", - "line": 377 + "line": 388 }, { "store": "t", "type": "WRITES_TO", - "line": 389 + "line": 400 }, { "store": "t", "type": "READS_FROM", - "line": 401 + "line": 412 }, { "store": "t", "type": "READS_FROM", - "line": 405 + "line": 416 }, { "store": "t", "type": "WRITES_TO", - "line": 448 + "line": 459 }, { "store": "t", "type": "WRITES_TO", - "line": 449 + "line": 460 }, { "store": "t", "type": "WRITES_TO", - "line": 473 + "line": 484 }, { "store": "t", "type": "WRITES_TO", - "line": 474 + "line": 485 }, { "store": "t", "type": "WRITES_TO", - "line": 487 + "line": 498 }, { "store": "t", "type": "WRITES_TO", - "line": 507 + "line": 518 }, { "store": "t", "type": "READS_FROM", - "line": 525 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 540 + "line": 536 }, { "store": "t", "type": "READS_FROM", "line": 551 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 562 } ] }, @@ -9660,7 +9811,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 558, + "end_line": 569, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/TopNavbar.svelte", "TIER": "TRIVIAL", @@ -9672,8 +9823,8 @@ "name": "toggleUserMenu", "type": "Function", "tier": "TRIVIAL", - "start_line": 85, - "end_line": 85, + "start_line": 97, + "end_line": 97, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9690,8 +9841,8 @@ "name": "closeUserMenu", "type": "Function", "tier": "TRIVIAL", - "start_line": 90, - "end_line": 90, + "start_line": 102, + "end_line": 102, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9708,8 +9859,8 @@ "name": "handleLogout", "type": "Function", "tier": "TRIVIAL", - "start_line": 94, - "end_line": 94, + "start_line": 106, + "end_line": 106, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9726,24 +9877,6 @@ "name": "handleActivityClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 100, - "end_line": 100, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "handleAssistantClick", - "type": "Function", - "tier": "TRIVIAL", "start_line": 112, "end_line": 112, "tags": { @@ -9758,12 +9891,30 @@ "score": 1.0 } }, + { + "name": "handleAssistantClick", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 123, + "end_line": 123, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "hydrateTaskDrawerPreference", "type": "Function", "tier": "TRIVIAL", - "start_line": 116, - "end_line": 116, + "start_line": 127, + "end_line": 127, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9780,42 +9931,6 @@ "name": "handleSearchFocus", "type": "Function", "tier": "TRIVIAL", - "start_line": 129, - "end_line": 129, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "clearSearchState", - "type": "Function", - "tier": "TRIVIAL", - "start_line": 134, - "end_line": 134, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "handleDocumentClick", - "type": "Function", - "tier": "TRIVIAL", "start_line": 140, "end_line": 140, "tags": { @@ -9830,12 +9945,48 @@ "score": 1.0 } }, + { + "name": "clearSearchState", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 145, + "end_line": 145, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "handleDocumentClick", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 151, + "end_line": 151, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "handleHamburgerClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 150, - "end_line": 150, + "start_line": 161, + "end_line": 161, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9852,8 +10003,8 @@ "name": "handleGlobalEnvironmentChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 155, - "end_line": 155, + "start_line": 166, + "end_line": 166, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9870,8 +10021,8 @@ "name": "buildSearchResultSections", "type": "Function", "tier": "TRIVIAL", - "start_line": 162, - "end_line": 162, + "start_line": 173, + "end_line": 173, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9888,8 +10039,8 @@ "name": "triggerSearch", "type": "Function", "tier": "TRIVIAL", - "start_line": 246, - "end_line": 246, + "start_line": 257, + "end_line": 257, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9906,8 +10057,8 @@ "name": "handleSearchInput", "type": "Function", "tier": "TRIVIAL", - "start_line": 298, - "end_line": 298, + "start_line": 309, + "end_line": 309, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9924,8 +10075,8 @@ "name": "openSearchResult", "type": "Function", "tier": "TRIVIAL", - "start_line": 308, - "end_line": 308, + "start_line": 319, + "end_line": 319, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9942,8 +10093,8 @@ "name": "handleSearchKeydown", "type": "Function", "tier": "TRIVIAL", - "start_line": 321, - "end_line": 321, + "start_line": 332, + "end_line": 332, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -9961,7 +10112,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 558 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 569 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -9974,7 +10125,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 185, + "end_line": 187, "tags": { "TIER": "STANDARD", "PURPOSE": "Display page hierarchy navigation", @@ -10014,37 +10165,22 @@ { "store": "lib", "type": "READS_FROM", - "line": 16 + "line": 17 }, { "store": "lib", "type": "READS_FROM", - "line": 17 + "line": 18 }, { "store": "props", "type": "WRITES_TO", - "line": 19 + "line": 20 }, { "store": "derived", "type": "WRITES_TO", - "line": 22 - }, - { - "store": "page", - "type": "READS_FROM", - "line": 23 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 33 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 139 + "line": 24 } ] }, @@ -10053,7 +10189,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 185, + "end_line": 187, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/Breadcrumbs.svelte", "TIER": "TRIVIAL", @@ -10065,8 +10201,8 @@ "name": "getBreadcrumbs", "type": "Function", "tier": "TRIVIAL", - "start_line": 31, - "end_line": 31, + "start_line": 33, + "end_line": 33, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10083,8 +10219,8 @@ "name": "formatBreadcrumbLabel", "type": "Function", "tier": "TRIVIAL", - "start_line": 67, - "end_line": 67, + "start_line": 69, + "end_line": 69, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10101,8 +10237,8 @@ "name": "getCrumbMeta", "type": "Function", "tier": "TRIVIAL", - "start_line": 87, - "end_line": 87, + "start_line": 89, + "end_line": 89, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10127,7 +10263,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 786, + "end_line": 790, "tags": { "TIER": "CRITICAL", "PURPOSE": "Global task drawer for monitoring background operations", @@ -10150,8 +10286,8 @@ "name": "disconnectWebSocket", "type": "Function", "tier": "STANDARD", - "start_line": 411, - "end_line": 425, + "start_line": 412, + "end_line": 426, "tags": { "PURPOSE": "Disconnects the active WebSocket connection", "PRE": "ws may or may not be initialized", @@ -10166,32 +10302,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 411 + "line_number": 412 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 411 + "line_number": 412 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 411 + "line_number": 412 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 411 + "line_number": 412 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 411 + "line_number": 412 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 411 + "line_number": 412 } ], "score": 0.0 @@ -10201,8 +10337,8 @@ "name": "loadRecentTasks", "type": "Function", "tier": "STANDARD", - "start_line": 427, - "end_line": 450, + "start_line": 428, + "end_line": 451, "tags": { "PURPOSE": "Load recent tasks for list mode display", "PRE": "User is on task drawer or api is ready.", @@ -10216,32 +10352,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 427 + "line_number": 428 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 427 + "line_number": 428 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 427 + "line_number": 428 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 427 + "line_number": 428 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 427 + "line_number": 428 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 427 + "line_number": 428 } ], "score": 0.0 @@ -10251,8 +10387,8 @@ "name": "selectTask", "type": "Function", "tier": "STANDARD", - "start_line": 452, - "end_line": 465, + "start_line": 453, + "end_line": 466, "tags": { "PURPOSE": "Select a task from list to view details", "PRE": "task is a valid task object", @@ -10266,32 +10402,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 452 + "line_number": 453 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 452 + "line_number": 453 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 452 + "line_number": 453 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 452 + "line_number": 453 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 452 + "line_number": 453 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 452 + "line_number": 453 } ], "score": 0.0 @@ -10301,8 +10437,8 @@ "name": "goBackToList", "type": "Function", "tier": "STANDARD", - "start_line": 467, - "end_line": 484, + "start_line": 468, + "end_line": 485, "tags": { "PURPOSE": "Return to task list view from task details", "PRE": "Drawer is open and activeTaskId is set", @@ -10317,32 +10453,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 467 + "line_number": 468 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 467 + "line_number": 468 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 467 + "line_number": 468 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 467 + "line_number": 468 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 467 + "line_number": 468 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 467 + "line_number": 468 } ], "score": 0.0 @@ -10356,21 +10492,11 @@ "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `$:` reactive label is forbidden; use runes `$state/$derived/$effect`", - "severity": "WARNING", - "line_number": 1 } ], - "score": 0.657142857142857 + "score": 0.8071428571428572 }, "data_flow": [ - { - "store": "lib", - "type": "READS_FROM", - "line": 39 - }, { "store": "lib", "type": "READS_FROM", @@ -10379,7 +10505,7 @@ { "store": "lib", "type": "READS_FROM", - "line": 43 + "line": 41 }, { "store": "lib", @@ -10397,159 +10523,219 @@ "line": 46 }, { - "store": "taskDrawerStore", + "store": "lib", "type": "READS_FROM", + "line": 47 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 51 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 52 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 53 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 54 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 55 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 58 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 59 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 60 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 65 + }, + { + "store": "derived", + "type": "WRITES_TO", "line": 66 }, { - "store": "taskDrawerStore", + "store": "derived", "type": "WRITES_TO", "line": 67 }, { - "store": "taskDrawerStore", + "store": "derived", "type": "WRITES_TO", "line": 68 }, { - "store": "assistantChatStore", - "type": "READS_FROM", - "line": 70 + "store": "derived", + "type": "WRITES_TO", + "line": 73 }, { "store": "t", "type": "READS_FROM", - "line": 159 + "line": 160 }, { "store": "t", "type": "READS_FROM", - "line": 246 + "line": 247 }, { "store": "t", "type": "READS_FROM", - "line": 246 + "line": 247 }, { "store": "t", "type": "READS_FROM", - "line": 246 + "line": 247 }, { "store": "t", "type": "READS_FROM", - "line": 246 + "line": 247 }, { "store": "t", "type": "READS_FROM", - "line": 258 + "line": 259 }, { "store": "t", "type": "READS_FROM", - "line": 269 + "line": 270 }, { "store": "t", "type": "READS_FROM", - "line": 269 + "line": 270 }, { "store": "t", "type": "READS_FROM", - "line": 269 + "line": 270 }, { "store": "t", "type": "READS_FROM", - "line": 283 + "line": 284 }, { "store": "t", "type": "READS_FROM", - "line": 310 + "line": 311 }, { "store": "t", "type": "READS_FROM", - "line": 321 + "line": 322 }, { "store": "t", "type": "READS_FROM", - "line": 332 + "line": 333 }, { "store": "t", "type": "READS_FROM", - "line": 360 + "line": 361 + }, + { + "store": "effect", + "type": "READS_FROM", + "line": 488 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 512 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 513 }, { "store": "t", "type": "WRITES_TO", - "line": 528 + "line": 532 }, { "store": "t", "type": "WRITES_TO", - "line": 545 + "line": 549 }, { "store": "t", "type": "READS_FROM", - "line": 551 + "line": 555 }, { "store": "t", "type": "READS_FROM", - "line": 551 + "line": 555 }, { "store": "t", "type": "READS_FROM", - "line": 589 + "line": 593 }, { "store": "t", "type": "WRITES_TO", - "line": 594 + "line": 598 }, { "store": "t", "type": "READS_FROM", - "line": 610 + "line": 614 }, { "store": "t", "type": "READS_FROM", - "line": 633 + "line": 637 }, { "store": "t", "type": "READS_FROM", - "line": 651 + "line": 655 }, { "store": "t", "type": "READS_FROM", - "line": 654 + "line": 658 }, { "store": "t", "type": "READS_FROM", - "line": 662 + "line": 666 }, { "store": "t", "type": "READS_FROM", - "line": 669 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 678 + "line": 673 }, { "store": "t", @@ -10559,22 +10745,22 @@ { "store": "t", "type": "READS_FROM", - "line": 689 + "line": 686 }, { "store": "t", "type": "READS_FROM", - "line": 709 + "line": 693 }, { "store": "t", "type": "READS_FROM", - "line": 716 + "line": 713 }, { "store": "t", "type": "READS_FROM", - "line": 726 + "line": 720 }, { "store": "t", @@ -10584,17 +10770,22 @@ { "store": "t", "type": "READS_FROM", - "line": 743 + "line": 734 }, { "store": "t", "type": "READS_FROM", - "line": 771 + "line": 747 }, { "store": "t", "type": "READS_FROM", - "line": 782 + "line": 775 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 786 } ] }, @@ -10603,7 +10794,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 788, + "end_line": 791, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/TaskDrawer.svelte", "TIER": "TRIVIAL", @@ -10615,8 +10806,8 @@ "name": "handleClose", "type": "Function", "tier": "TRIVIAL", - "start_line": 83, - "end_line": 83, + "start_line": 84, + "end_line": 84, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10633,8 +10824,8 @@ "name": "goToReportsPage", "type": "Function", "tier": "TRIVIAL", - "start_line": 88, - "end_line": 88, + "start_line": 89, + "end_line": 89, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10651,8 +10842,8 @@ "name": "handleGlobalKeydown", "type": "Function", "tier": "TRIVIAL", - "start_line": 93, - "end_line": 93, + "start_line": 94, + "end_line": 94, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10669,8 +10860,8 @@ "name": "normalizeTaskId", "type": "Function", "tier": "TRIVIAL", - "start_line": 100, - "end_line": 100, + "start_line": 101, + "end_line": 101, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10687,8 +10878,8 @@ "name": "isTaskFinished", "type": "Function", "tier": "TRIVIAL", - "start_line": 111, - "end_line": 111, + "start_line": 112, + "end_line": 112, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10705,8 +10896,8 @@ "name": "resolveLlmValidationStatus", "type": "Function", "tier": "TRIVIAL", - "start_line": 120, - "end_line": 120, + "start_line": 121, + "end_line": 121, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10723,8 +10914,8 @@ "name": "llmValidationBadgeClass", "type": "Function", "tier": "TRIVIAL", - "start_line": 129, - "end_line": 129, + "start_line": 130, + "end_line": 130, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10741,8 +10932,8 @@ "name": "stopTaskDetailsPolling", "type": "Function", "tier": "TRIVIAL", - "start_line": 139, - "end_line": 139, + "start_line": 140, + "end_line": 140, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10759,8 +10950,8 @@ "name": "loadEnvironmentOptions", "type": "Function", "tier": "TRIVIAL", - "start_line": 146, - "end_line": 146, + "start_line": 147, + "end_line": 147, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10777,8 +10968,8 @@ "name": "resolveEnvironmentName", "type": "Function", "tier": "TRIVIAL", - "start_line": 156, - "end_line": 156, + "start_line": 157, + "end_line": 157, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10795,8 +10986,8 @@ "name": "resolveEnvironmentId", "type": "Function", "tier": "TRIVIAL", - "start_line": 162, - "end_line": 162, + "start_line": 163, + "end_line": 163, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10813,8 +11004,8 @@ "name": "normalizeSupersetBaseUrl", "type": "Function", "tier": "TRIVIAL", - "start_line": 172, - "end_line": 172, + "start_line": 173, + "end_line": 173, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10831,8 +11022,8 @@ "name": "resolveSupersetDashboardUrl", "type": "Function", "tier": "TRIVIAL", - "start_line": 181, - "end_line": 181, + "start_line": 182, + "end_line": 182, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10849,8 +11040,8 @@ "name": "loadActiveTaskDetails", "type": "Function", "tier": "TRIVIAL", - "start_line": 189, - "end_line": 189, + "start_line": 190, + "end_line": 190, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10867,8 +11058,8 @@ "name": "extractPrimaryDashboardId", "type": "Function", "tier": "TRIVIAL", - "start_line": 204, - "end_line": 204, + "start_line": 205, + "end_line": 205, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10885,8 +11076,8 @@ "name": "buildTaskSummary", "type": "Function", "tier": "TRIVIAL", - "start_line": 223, - "end_line": 223, + "start_line": 224, + "end_line": 224, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10903,8 +11094,8 @@ "name": "handleOpenDashboardDeepLink", "type": "Function", "tier": "TRIVIAL", - "start_line": 307, - "end_line": 307, + "start_line": 308, + "end_line": 308, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10921,8 +11112,8 @@ "name": "handleShowDiff", "type": "Function", "tier": "TRIVIAL", - "start_line": 329, - "end_line": 329, + "start_line": 330, + "end_line": 330, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10939,8 +11130,8 @@ "name": "handleOpenLlmReport", "type": "Function", "tier": "TRIVIAL", - "start_line": 356, - "end_line": 356, + "start_line": 357, + "end_line": 357, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10957,8 +11148,8 @@ "name": "connectWebSocket", "type": "Function", "tier": "TRIVIAL", - "start_line": 373, - "end_line": 373, + "start_line": 374, + "end_line": 374, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -10976,7 +11167,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 788 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 791 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -11406,7 +11597,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 16, - "end_line": 93, + "end_line": 100, "tags": { "TIER": "STANDARD", "SEMANTICS": "app-layout, auth-gating, navigation-shell", @@ -11428,7 +11619,7 @@ "type": "Page", "tier": "STANDARD", "start_line": 1, - "end_line": 942, + "end_line": 958, "tags": { "TIER": "CRITICAL", "PURPOSE": "Dataset Hub - Dedicated hub for datasets with mapping progress", @@ -11456,7 +11647,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 942, + "end_line": 958, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/datasets/+page.svelte", "TIER": "TRIVIAL", @@ -11468,8 +11659,8 @@ "name": "loadDatasets", "type": "Function", "tier": "TRIVIAL", - "start_line": 102, - "end_line": 102, + "start_line": 109, + "end_line": 109, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11486,8 +11677,8 @@ "name": "handleSearch", "type": "Function", "tier": "TRIVIAL", - "start_line": 158, - "end_line": 158, + "start_line": 165, + "end_line": 165, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11504,8 +11695,8 @@ "name": "handlePageChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 163, - "end_line": 163, + "start_line": 170, + "end_line": 170, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11522,24 +11713,6 @@ "name": "handlePageSizeChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 169, - "end_line": 169, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "updateSelectionState", - "type": "Function", - "tier": "TRIVIAL", "start_line": 176, "end_line": 176, "tags": { @@ -11554,12 +11727,30 @@ "score": 1.0 } }, + { + "name": "updateSelectionState", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 183, + "end_line": 183, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "handleCheckboxChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 186, - "end_line": 186, + "start_line": 193, + "end_line": 193, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11576,8 +11767,8 @@ "name": "handleSelectAll", "type": "Function", "tier": "TRIVIAL", - "start_line": 197, - "end_line": 197, + "start_line": 204, + "end_line": 204, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11594,8 +11785,8 @@ "name": "handleSelectVisible", "type": "Function", "tier": "TRIVIAL", - "start_line": 221, - "end_line": 221, + "start_line": 228, + "end_line": 228, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11612,8 +11803,8 @@ "name": "handleAction", "type": "Function", "tier": "TRIVIAL", - "start_line": 232, - "end_line": 232, + "start_line": 239, + "end_line": 239, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11630,8 +11821,8 @@ "name": "handleBulkMapColumns", "type": "Function", "tier": "TRIVIAL", - "start_line": 252, - "end_line": 252, + "start_line": 259, + "end_line": 259, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11648,8 +11839,8 @@ "name": "handleBulkGenerateDocs", "type": "Function", "tier": "TRIVIAL", - "start_line": 317, - "end_line": 317, + "start_line": 324, + "end_line": 324, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11666,8 +11857,8 @@ "name": "handleTaskStatusClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 351, - "end_line": 351, + "start_line": 358, + "end_line": 358, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11684,8 +11875,8 @@ "name": "getTaskStatusIcon", "type": "Function", "tier": "TRIVIAL", - "start_line": 361, - "end_line": 361, + "start_line": 368, + "end_line": 368, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11702,8 +11893,8 @@ "name": "getMappingProgressClass", "type": "Function", "tier": "TRIVIAL", - "start_line": 378, - "end_line": 378, + "start_line": 385, + "end_line": 385, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -11721,7 +11912,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 942 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 958 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -11734,7 +11925,7 @@ "type": "Page", "tier": "STANDARD", "start_line": 1, - "end_line": 403, + "end_line": 402, "tags": { "TIER": "CRITICAL", "PURPOSE": "Dataset Detail View - Shows detailed dataset information with columns, SQL, and linked dashboards", @@ -11762,7 +11953,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 403, + "end_line": 402, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/datasets/[id]/+page.svelte", "TIER": "TRIVIAL", @@ -11865,7 +12056,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 403 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 402 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -12133,7 +12324,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 403, + "end_line": 408, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/reports/llm/[taskId]/+page.svelte", "TIER": "TRIVIAL", @@ -12326,7 +12517,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 403 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 408 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -12583,7 +12774,7 @@ "type": "Page", "tier": "STANDARD", "start_line": 12, - "end_line": 179, + "end_line": 183, "tags": { "UX_STATE": "Idle -> Showing dashboard grid with actions.", "UX_FEEDBACK": "Toast -> Error messages on fetch failure.", @@ -12595,8 +12786,8 @@ "name": "fetchEnvironments", "type": "Function", "tier": "STANDARD", - "start_line": 40, - "end_line": 57, + "start_line": 45, + "end_line": 61, "tags": { "PURPOSE": "Fetches the list of available environments.", "PRE": "None.", @@ -12610,32 +12801,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 45 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 45 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 45 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 45 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 45 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 45 } ], "score": 0.0 @@ -12645,8 +12836,8 @@ "name": "fetchDashboards", "type": "Function", "tier": "STANDARD", - "start_line": 59, - "end_line": 94, + "start_line": 63, + "end_line": 98, "tags": { "PURPOSE": "Fetches dashboards for a specific environment.", "PRE": "envId is a valid environment ID.", @@ -12660,32 +12851,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 63 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 63 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 63 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 63 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 63 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 63 } ], "score": 0.0 @@ -12695,8 +12886,8 @@ "name": "filterDashboardsWithRepositories", "type": "Function", "tier": "STANDARD", - "start_line": 96, - "end_line": 134, + "start_line": 100, + "end_line": 138, "tags": { "PURPOSE": "Keep only dashboards that already have initialized Git repositories.", "PRE": "dashboards list is loaded for selected environment.", @@ -12710,32 +12901,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 96 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 96 + "line_number": 100 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 96 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 96 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 96 + "line_number": 100 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 96 + "line_number": 100 } ], "score": 0.0 @@ -12753,7 +12944,7 @@ "type": "Page", "tier": "STANDARD", "start_line": 1, - "end_line": 2777, + "end_line": 2858, "tags": { "TIER": "CRITICAL", "PURPOSE": "Dashboard Hub - Central hub for managing dashboards with Git status and task actions", @@ -12775,8 +12966,8 @@ "name": "DashboardHub.normalizeTaskStatus", "type": "Function", "tier": "STANDARD", - "start_line": 162, - "end_line": 175, + "start_line": 173, + "end_line": 186, "tags": { "PURPOSE": "Normalize raw task status to stable lowercase token for UI.", "PRE": "status can be enum-like string or null.", @@ -12790,32 +12981,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 162 + "line_number": 173 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 162 + "line_number": 173 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 162 + "line_number": 173 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 162 + "line_number": 173 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 162 + "line_number": 173 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 162 + "line_number": 173 } ], "score": 0.0 @@ -12825,8 +13016,8 @@ "name": "DashboardHub.normalizeValidationStatus", "type": "Function", "tier": "STANDARD", - "start_line": 177, - "end_line": 192, + "start_line": 188, + "end_line": 203, "tags": { "PURPOSE": "Normalize validation status to pass/fail/warn/unknown.", "PRE": "status can be any scalar.", @@ -12840,32 +13031,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 177 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 177 + "line_number": 188 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 177 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 177 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 177 + "line_number": 188 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 177 + "line_number": 188 } ], "score": 0.0 @@ -12875,8 +13066,8 @@ "name": "DashboardHub.getValidationBadgeClass", "type": "Function", "tier": "STANDARD", - "start_line": 194, - "end_line": 208, + "start_line": 205, + "end_line": 219, "tags": { "PURPOSE": "Map validation level to badge class tuple.", "PRE": "level in pass|fail|warn|unknown.", @@ -12890,32 +13081,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 194 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 194 + "line_number": 205 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 194 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 194 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 194 + "line_number": 205 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 194 + "line_number": 205 } ], "score": 0.0 @@ -12925,8 +13116,8 @@ "name": "DashboardHub.getValidationLabel", "type": "Function", "tier": "STANDARD", - "start_line": 210, - "end_line": 223, + "start_line": 221, + "end_line": 234, "tags": { "PURPOSE": "Map normalized validation level to compact UI label.", "PRE": "level in pass|fail|warn|unknown.", @@ -12940,32 +13131,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 210 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 210 + "line_number": 221 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 210 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 210 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 210 + "line_number": 221 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 210 + "line_number": 221 } ], "score": 0.0 @@ -12975,8 +13166,8 @@ "name": "DashboardHub.normalizeOwners", "type": "Function", "tier": "STANDARD", - "start_line": 225, - "end_line": 261, + "start_line": 236, + "end_line": 272, "tags": { "PURPOSE": "Normalize owners payload to unique non-empty display labels.", "PRE": "owners can be null, list of strings, or list of user objects.", @@ -12990,32 +13181,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 225 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 225 + "line_number": 236 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 225 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 225 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 225 + "line_number": 236 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 225 + "line_number": 236 } ], "score": 0.0 @@ -13025,8 +13216,8 @@ "name": "DashboardHub.loadDashboards", "type": "Function", "tier": "STANDARD", - "start_line": 263, - "end_line": 456, + "start_line": 274, + "end_line": 476, "tags": { "PURPOSE": "Load full dashboard dataset for current environment and hydrate grid projection.", "PRE": "selectedEnv is not null.", @@ -13039,8 +13230,8 @@ "name": "DashboardHub.handleTemporaryShowAll", "type": "Function", "tier": "STANDARD", - "start_line": 385, - "end_line": 397, + "start_line": 396, + "end_line": 408, "tags": { "PURPOSE": "Temporarily disable profile-default dashboard filter for current page context.", "PRE": "Dashboards list is loaded in dashboards_main context.", @@ -13054,47 +13245,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 385 + "line_number": 396 } ], "score": 0.0 @@ -13104,8 +13295,8 @@ "name": "DashboardHub.handleRestoreProfileFilter", "type": "Function", "tier": "STANDARD", - "start_line": 399, - "end_line": 411, + "start_line": 410, + "end_line": 422, "tags": { "PURPOSE": "Re-enable persisted profile-default filtering after temporary override.", "PRE": "Current page is in override mode.", @@ -13119,47 +13310,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 399 + "line_number": 410 } ], "score": 0.0 @@ -13172,32 +13363,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 263 + "line_number": 274 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 263 + "line_number": 274 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 263 + "line_number": 274 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 263 + "line_number": 274 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 263 + "line_number": 274 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 263 + "line_number": 274 } ], "score": 0.0 @@ -13207,8 +13398,8 @@ "name": "DashboardHub.formatDate", "type": "Function", "tier": "STANDARD", - "start_line": 458, - "end_line": 471, + "start_line": 478, + "end_line": 491, "tags": { "PURPOSE": "Convert ISO timestamp to locale date string.", "PRE": "value may be null or invalid date string.", @@ -13222,32 +13413,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 478 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 478 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 478 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 478 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 478 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 478 } ], "score": 0.0 @@ -13257,8 +13448,8 @@ "name": "DashboardHub.getGitSummaryLabel", "type": "Function", "tier": "STANDARD", - "start_line": 473, - "end_line": 491, + "start_line": 493, + "end_line": 511, "tags": { "PURPOSE": "Compute stable text label for git state column.", "PRE": "dashboard has git projection fields.", @@ -13272,32 +13463,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 473 + "line_number": 493 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 473 + "line_number": 493 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 473 + "line_number": 493 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 473 + "line_number": 493 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 473 + "line_number": 493 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 473 + "line_number": 493 } ], "score": 0.0 @@ -13307,8 +13498,8 @@ "name": "DashboardHub.getLlmSummaryLabel", "type": "Function", "tier": "STANDARD", - "start_line": 493, - "end_line": 505, + "start_line": 513, + "end_line": 525, "tags": { "PURPOSE": "Compute normalized LLM validation summary label.", "PRE": "dashboard may have null lastTask.", @@ -13322,32 +13513,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 493 + "line_number": 513 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 493 + "line_number": 513 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 493 + "line_number": 513 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 493 + "line_number": 513 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 493 + "line_number": 513 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 493 + "line_number": 513 } ], "score": 0.0 @@ -13357,8 +13548,8 @@ "name": "DashboardHub.getColumnCellValue", "type": "Function", "tier": "STANDARD", - "start_line": 507, - "end_line": 524, + "start_line": 527, + "end_line": 544, "tags": { "PURPOSE": "Resolve comparable/filterable display value for any grid column.", "PRE": "column belongs to filterable column set.", @@ -13372,32 +13563,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 507 + "line_number": 527 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 507 + "line_number": 527 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 507 + "line_number": 527 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 507 + "line_number": 527 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 507 + "line_number": 527 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 507 + "line_number": 527 } ], "score": 0.0 @@ -13407,8 +13598,8 @@ "name": "DashboardHub.getFilterOptions", "type": "Function", "tier": "STANDARD", - "start_line": 526, - "end_line": 541, + "start_line": 546, + "end_line": 561, "tags": { "PURPOSE": "Build unique sorted value list for a column filter dropdown.", "PRE": "allDashboards is hydrated.", @@ -13422,32 +13613,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 526 + "line_number": 546 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 526 + "line_number": 546 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 526 + "line_number": 546 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 526 + "line_number": 546 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 526 + "line_number": 546 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 526 + "line_number": 546 } ], "score": 0.0 @@ -13457,8 +13648,8 @@ "name": "DashboardHub.getVisibleFilterOptions", "type": "Function", "tier": "STANDARD", - "start_line": 543, - "end_line": 556, + "start_line": 563, + "end_line": 576, "tags": { "PURPOSE": "Apply in-dropdown search over full filter options.", "PRE": "columnFilterSearch contains search token for column.", @@ -13472,32 +13663,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 543 + "line_number": 563 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 543 + "line_number": 563 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 543 + "line_number": 563 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 543 + "line_number": 563 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 543 + "line_number": 563 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 543 + "line_number": 563 } ], "score": 0.0 @@ -13507,8 +13698,8 @@ "name": "DashboardHub.toggleFilterDropdown", "type": "Function", "tier": "STANDARD", - "start_line": 558, - "end_line": 587, + "start_line": 578, + "end_line": 607, "tags": { "PURPOSE": "Toggle active column filter popover.", "PRE": "column is valid filter key.", @@ -13522,32 +13713,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 558 + "line_number": 578 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 558 + "line_number": 578 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 558 + "line_number": 578 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 558 + "line_number": 578 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 558 + "line_number": 578 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 558 + "line_number": 578 } ], "score": 0.0 @@ -13557,8 +13748,8 @@ "name": "DashboardHub.toggleFilterValue", "type": "Function", "tier": "STANDARD", - "start_line": 589, - "end_line": 607, + "start_line": 609, + "end_line": 627, "tags": { "PURPOSE": "Add/remove specific filter value and reapply projection.", "PRE": "value comes from option list of the same column.", @@ -13572,32 +13763,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 589 + "line_number": 609 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 589 + "line_number": 609 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 589 + "line_number": 609 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 589 + "line_number": 609 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 589 + "line_number": 609 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 589 + "line_number": 609 } ], "score": 0.0 @@ -13607,8 +13798,8 @@ "name": "DashboardHub.clearColumnFilter", "type": "Function", "tier": "STANDARD", - "start_line": 609, - "end_line": 621, + "start_line": 629, + "end_line": 641, "tags": { "PURPOSE": "Reset selected values for one column.", "PRE": "column is valid filter key.", @@ -13622,32 +13813,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 609 + "line_number": 629 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 609 + "line_number": 629 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 609 + "line_number": 629 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 609 + "line_number": 629 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 609 + "line_number": 629 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 609 + "line_number": 629 } ], "score": 0.0 @@ -13657,8 +13848,8 @@ "name": "DashboardHub.selectAllColumnFilterValues", "type": "Function", "tier": "STANDARD", - "start_line": 623, - "end_line": 638, + "start_line": 643, + "end_line": 658, "tags": { "PURPOSE": "Select all currently visible values in filter popover.", "PRE": "visible options computed for current search token.", @@ -13672,32 +13863,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 623 + "line_number": 643 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 623 + "line_number": 643 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 623 + "line_number": 643 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 623 + "line_number": 643 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 623 + "line_number": 643 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 623 + "line_number": 643 } ], "score": 0.0 @@ -13707,8 +13898,8 @@ "name": "DashboardHub.updateColumnFilterSearch", "type": "Function", "tier": "STANDARD", - "start_line": 640, - "end_line": 650, + "start_line": 660, + "end_line": 670, "tags": { "PURPOSE": "Update local search token for one filter popover.", "PRE": "value is text from input.", @@ -13722,32 +13913,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 640 + "line_number": 660 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 640 + "line_number": 660 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 640 + "line_number": 660 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 640 + "line_number": 660 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 640 + "line_number": 660 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 640 + "line_number": 660 } ], "score": 0.0 @@ -13757,8 +13948,8 @@ "name": "DashboardHub.hasColumnFilter", "type": "Function", "tier": "STANDARD", - "start_line": 652, - "end_line": 662, + "start_line": 672, + "end_line": 682, "tags": { "PURPOSE": "Determine if column has active selected values.", "PRE": "column is valid filter key.", @@ -13772,32 +13963,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 652 + "line_number": 672 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 652 + "line_number": 672 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 652 + "line_number": 672 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 652 + "line_number": 672 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 652 + "line_number": 672 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 652 + "line_number": 672 } ], "score": 0.0 @@ -13807,8 +13998,8 @@ "name": "DashboardHub.doesDashboardPassColumnFilters", "type": "Function", "tier": "STANDARD", - "start_line": 664, - "end_line": 681, + "start_line": 684, + "end_line": 701, "tags": { "PURPOSE": "Evaluate dashboard row against all active column filters.", "PRE": "dashboard contains projected values for each filterable column.", @@ -13822,32 +14013,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 684 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 684 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 684 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 684 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 684 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 684 } ], "score": 0.0 @@ -13857,8 +14048,8 @@ "name": "DashboardHub.getSortValue", "type": "Function", "tier": "STANDARD", - "start_line": 683, - "end_line": 701, + "start_line": 703, + "end_line": 721, "tags": { "PURPOSE": "Compute stable comparable sort key for chosen column.", "PRE": "column belongs to sortable set.", @@ -13872,32 +14063,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 683 + "line_number": 703 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 683 + "line_number": 703 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 683 + "line_number": 703 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 683 + "line_number": 703 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 683 + "line_number": 703 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 683 + "line_number": 703 } ], "score": 0.0 @@ -13907,8 +14098,8 @@ "name": "DashboardHub.handleSort", "type": "Function", "tier": "STANDARD", - "start_line": 703, - "end_line": 720, + "start_line": 723, + "end_line": 740, "tags": { "PURPOSE": "Toggle or switch sort order and reapply grid projection.", "PRE": "column belongs to sortable set.", @@ -13922,32 +14113,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 703 + "line_number": 723 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 703 + "line_number": 723 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 703 + "line_number": 723 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 703 + "line_number": 723 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 703 + "line_number": 723 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 703 + "line_number": 723 } ], "score": 0.0 @@ -13957,8 +14148,8 @@ "name": "DashboardHub.getSortIndicator", "type": "Function", "tier": "STANDARD", - "start_line": 722, - "end_line": 733, + "start_line": 742, + "end_line": 753, "tags": { "PURPOSE": "Return visual indicator for active/inactive sort header.", "PRE": "column belongs to sortable set.", @@ -13972,32 +14163,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 722 + "line_number": 742 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 722 + "line_number": 742 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 722 + "line_number": 742 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 722 + "line_number": 742 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 722 + "line_number": 742 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 722 + "line_number": 742 } ], "score": 0.0 @@ -14007,8 +14198,8 @@ "name": "DashboardHub.applyGridTransforms", "type": "Function", "tier": "STANDARD", - "start_line": 735, - "end_line": 762, + "start_line": 755, + "end_line": 782, "tags": { "PURPOSE": "Apply search + column filters + sort + pagination to grid data.", "PRE": "allDashboards is current source collection.", @@ -14023,32 +14214,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 735 + "line_number": 755 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 735 + "line_number": 755 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 735 + "line_number": 755 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 735 + "line_number": 755 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 735 + "line_number": 755 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 735 + "line_number": 755 } ], "score": 0.0 @@ -14066,7 +14257,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 2777, + "end_line": 2858, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/dashboards/+page.svelte", "TIER": "TRIVIAL", @@ -14078,8 +14269,8 @@ "name": "handleDocumentClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 147, - "end_line": 147, + "start_line": 158, + "end_line": 158, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14096,8 +14287,8 @@ "name": "normalizeTaskStatus", "type": "Function", "tier": "TRIVIAL", - "start_line": 168, - "end_line": 168, + "start_line": 179, + "end_line": 179, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14114,8 +14305,8 @@ "name": "normalizeValidationStatus", "type": "Function", "tier": "TRIVIAL", - "start_line": 183, - "end_line": 183, + "start_line": 194, + "end_line": 194, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14132,8 +14323,8 @@ "name": "getValidationBadgeClass", "type": "Function", "tier": "TRIVIAL", - "start_line": 200, - "end_line": 200, + "start_line": 211, + "end_line": 211, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14150,8 +14341,8 @@ "name": "getValidationLabel", "type": "Function", "tier": "TRIVIAL", - "start_line": 216, - "end_line": 216, + "start_line": 227, + "end_line": 227, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14168,8 +14359,8 @@ "name": "normalizeOwners", "type": "Function", "tier": "TRIVIAL", - "start_line": 231, - "end_line": 231, + "start_line": 242, + "end_line": 242, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14186,8 +14377,8 @@ "name": "loadDashboards", "type": "Function", "tier": "TRIVIAL", - "start_line": 271, - "end_line": 271, + "start_line": 282, + "end_line": 282, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14204,8 +14395,8 @@ "name": "handleSearch", "type": "Function", "tier": "TRIVIAL", - "start_line": 367, - "end_line": 367, + "start_line": 378, + "end_line": 378, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14222,8 +14413,8 @@ "name": "handlePageChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 372, - "end_line": 372, + "start_line": 383, + "end_line": 383, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14240,8 +14431,8 @@ "name": "handlePageSizeChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 379, - "end_line": 379, + "start_line": 390, + "end_line": 390, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14258,8 +14449,8 @@ "name": "handleTemporaryShowAll", "type": "Function", "tier": "TRIVIAL", - "start_line": 391, - "end_line": 391, + "start_line": 402, + "end_line": 402, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14276,8 +14467,8 @@ "name": "handleRestoreProfileFilter", "type": "Function", "tier": "TRIVIAL", - "start_line": 405, - "end_line": 405, + "start_line": 416, + "end_line": 416, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14294,8 +14485,44 @@ "name": "updateSelectionState", "type": "Function", "tier": "TRIVIAL", - "start_line": 414, - "end_line": 414, + "start_line": 425, + "end_line": 425, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "replaceSelectedIds", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 434, + "end_line": 434, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "clearSelectedIds", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 439, + "end_line": 439, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14312,8 +14539,8 @@ "name": "handleCheckboxChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 424, - "end_line": 424, + "start_line": 444, + "end_line": 444, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14330,8 +14557,8 @@ "name": "handleSelectAll", "type": "Function", "tier": "TRIVIAL", - "start_line": 435, - "end_line": 435, + "start_line": 455, + "end_line": 455, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14348,8 +14575,8 @@ "name": "handleSelectVisible", "type": "Function", "tier": "TRIVIAL", - "start_line": 446, - "end_line": 446, + "start_line": 466, + "end_line": 466, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14366,8 +14593,8 @@ "name": "formatDate", "type": "Function", "tier": "TRIVIAL", - "start_line": 464, - "end_line": 464, + "start_line": 484, + "end_line": 484, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14384,24 +14611,6 @@ "name": "getGitSummaryLabel", "type": "Function", "tier": "TRIVIAL", - "start_line": 479, - "end_line": 479, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "getLlmSummaryLabel", - "type": "Function", - "tier": "TRIVIAL", "start_line": 499, "end_line": 499, "tags": { @@ -14416,12 +14625,30 @@ "score": 1.0 } }, + { + "name": "getLlmSummaryLabel", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 519, + "end_line": 519, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "getColumnCellValue", "type": "Function", "tier": "TRIVIAL", - "start_line": 513, - "end_line": 513, + "start_line": 533, + "end_line": 533, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14438,8 +14665,8 @@ "name": "getFilterOptions", "type": "Function", "tier": "TRIVIAL", - "start_line": 532, - "end_line": 532, + "start_line": 552, + "end_line": 552, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14456,8 +14683,8 @@ "name": "getVisibleFilterOptions", "type": "Function", "tier": "TRIVIAL", - "start_line": 549, - "end_line": 549, + "start_line": 569, + "end_line": 569, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14474,8 +14701,8 @@ "name": "toggleFilterDropdown", "type": "Function", "tier": "TRIVIAL", - "start_line": 564, - "end_line": 564, + "start_line": 584, + "end_line": 584, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14492,24 +14719,6 @@ "name": "toggleFilterValue", "type": "Function", "tier": "TRIVIAL", - "start_line": 595, - "end_line": 595, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "clearColumnFilter", - "type": "Function", - "tier": "TRIVIAL", "start_line": 615, "end_line": 615, "tags": { @@ -14524,12 +14733,30 @@ "score": 1.0 } }, + { + "name": "clearColumnFilter", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 635, + "end_line": 635, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "selectAllColumnFilterValues", "type": "Function", "tier": "TRIVIAL", - "start_line": 629, - "end_line": 629, + "start_line": 649, + "end_line": 649, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14546,8 +14773,8 @@ "name": "updateColumnFilterSearch", "type": "Function", "tier": "TRIVIAL", - "start_line": 646, - "end_line": 646, + "start_line": 666, + "end_line": 666, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14564,8 +14791,8 @@ "name": "hasColumnFilter", "type": "Function", "tier": "TRIVIAL", - "start_line": 658, - "end_line": 658, + "start_line": 678, + "end_line": 678, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14582,8 +14809,8 @@ "name": "doesDashboardPassColumnFilters", "type": "Function", "tier": "TRIVIAL", - "start_line": 670, - "end_line": 670, + "start_line": 690, + "end_line": 690, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14600,24 +14827,6 @@ "name": "getSortValue", "type": "Function", "tier": "TRIVIAL", - "start_line": 689, - "end_line": 689, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "handleSort", - "type": "Function", - "tier": "TRIVIAL", "start_line": 709, "end_line": 709, "tags": { @@ -14632,12 +14841,30 @@ "score": 1.0 } }, + { + "name": "handleSort", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 729, + "end_line": 729, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "getSortIndicator", "type": "Function", "tier": "TRIVIAL", - "start_line": 728, - "end_line": 728, + "start_line": 748, + "end_line": 748, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14654,8 +14881,8 @@ "name": "applyGridTransforms", "type": "Function", "tier": "TRIVIAL", - "start_line": 742, - "end_line": 742, + "start_line": 762, + "end_line": 762, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14672,8 +14899,8 @@ "name": "toggleActionDropdown", "type": "Function", "tier": "TRIVIAL", - "start_line": 765, - "end_line": 765, + "start_line": 785, + "end_line": 785, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14690,8 +14917,8 @@ "name": "closeActionDropdown", "type": "Function", "tier": "TRIVIAL", - "start_line": 772, - "end_line": 772, + "start_line": 792, + "end_line": 792, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14708,8 +14935,8 @@ "name": "handleAction", "type": "Function", "tier": "TRIVIAL", - "start_line": 777, - "end_line": 777, + "start_line": 797, + "end_line": 797, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14726,8 +14953,8 @@ "name": "handleValidate", "type": "Function", "tier": "TRIVIAL", - "start_line": 821, - "end_line": 821, + "start_line": 837, + "end_line": 837, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14744,8 +14971,8 @@ "name": "handleTargetEnvChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 859, - "end_line": 859, + "start_line": 875, + "end_line": 875, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14762,8 +14989,8 @@ "name": "loadDatabases", "type": "Function", "tier": "TRIVIAL", - "start_line": 872, - "end_line": 872, + "start_line": 888, + "end_line": 888, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14780,8 +15007,8 @@ "name": "handleMappingUpdate", "type": "Function", "tier": "TRIVIAL", - "start_line": 890, - "end_line": 890, + "start_line": 906, + "end_line": 906, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14798,8 +15025,8 @@ "name": "loadDbMappings", "type": "Function", "tier": "TRIVIAL", - "start_line": 897, - "end_line": 897, + "start_line": 913, + "end_line": 913, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14816,8 +15043,8 @@ "name": "calculateDryRun", "type": "Function", "tier": "TRIVIAL", - "start_line": 928, - "end_line": 928, + "start_line": 944, + "end_line": 944, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14834,8 +15061,8 @@ "name": "handleBulkMigrate", "type": "Function", "tier": "TRIVIAL", - "start_line": 979, - "end_line": 979, + "start_line": 995, + "end_line": 995, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14852,8 +15079,8 @@ "name": "handleBulkBackup", "type": "Function", "tier": "TRIVIAL", - "start_line": 1026, - "end_line": 1026, + "start_line": 1041, + "end_line": 1041, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14870,8 +15097,8 @@ "name": "handleTaskStatusClick", "type": "Function", "tier": "TRIVIAL", - "start_line": 1063, - "end_line": 1063, + "start_line": 1077, + "end_line": 1077, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14888,8 +15115,8 @@ "name": "navigateToDashboardDetail", "type": "Function", "tier": "TRIVIAL", - "start_line": 1072, - "end_line": 1072, + "start_line": 1086, + "end_line": 1086, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14906,8 +15133,8 @@ "name": "getStatusBadgeClass", "type": "Function", "tier": "TRIVIAL", - "start_line": 1081, - "end_line": 1081, + "start_line": 1095, + "end_line": 1095, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14924,8 +15151,8 @@ "name": "isGitBusy", "type": "Function", "tier": "TRIVIAL", - "start_line": 1093, - "end_line": 1093, + "start_line": 1107, + "end_line": 1107, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14942,8 +15169,8 @@ "name": "setGitBusy", "type": "Function", "tier": "TRIVIAL", - "start_line": 1097, - "end_line": 1097, + "start_line": 1111, + "end_line": 1111, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14960,8 +15187,8 @@ "name": "ensureGitConfigs", "type": "Function", "tier": "TRIVIAL", - "start_line": 1106, - "end_line": 1106, + "start_line": 1120, + "end_line": 1120, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14978,8 +15205,8 @@ "name": "updateDashboardGitState", "type": "Function", "tier": "TRIVIAL", - "start_line": 1112, - "end_line": 1112, + "start_line": 1126, + "end_line": 1126, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -14996,8 +15223,8 @@ "name": "normalizeRepositoryStatusPayload", "type": "Function", "tier": "TRIVIAL", - "start_line": 1125, - "end_line": 1125, + "start_line": 1139, + "end_line": 1139, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15014,8 +15241,8 @@ "name": "fetchDashboardGitStatusesBatch", "type": "Function", "tier": "TRIVIAL", - "start_line": 1162, - "end_line": 1162, + "start_line": 1176, + "end_line": 1176, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15032,8 +15259,8 @@ "name": "refreshDashboardGitState", "type": "Function", "tier": "TRIVIAL", - "start_line": 1218, - "end_line": 1218, + "start_line": 1232, + "end_line": 1232, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15050,8 +15277,8 @@ "name": "hydrateVisibleGitStatusesBatch", "type": "Function", "tier": "TRIVIAL", - "start_line": 1222, - "end_line": 1222, + "start_line": 1236, + "end_line": 1236, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15068,8 +15295,8 @@ "name": "handleGitInit", "type": "Function", "tier": "TRIVIAL", - "start_line": 1235, - "end_line": 1235, + "start_line": 1249, + "end_line": 1249, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15086,8 +15313,8 @@ "name": "handleGitSync", "type": "Function", "tier": "TRIVIAL", - "start_line": 1271, - "end_line": 1271, + "start_line": 1285, + "end_line": 1285, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15104,8 +15331,8 @@ "name": "handleGitCommit", "type": "Function", "tier": "TRIVIAL", - "start_line": 1284, - "end_line": 1284, + "start_line": 1298, + "end_line": 1298, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15122,24 +15349,6 @@ "name": "handleGitPull", "type": "Function", "tier": "TRIVIAL", - "start_line": 1312, - "end_line": 1312, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "handleGitPush", - "type": "Function", - "tier": "TRIVIAL", "start_line": 1326, "end_line": 1326, "tags": { @@ -15154,12 +15363,30 @@ "score": 1.0 } }, + { + "name": "handleGitPush", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 1340, + "end_line": 1340, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "getTaskStatusIcon", "type": "Function", "tier": "TRIVIAL", - "start_line": 1341, - "end_line": 1341, + "start_line": 1355, + "end_line": 1355, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15176,8 +15403,26 @@ "name": "getPaginationRange", "type": "Function", "tier": "TRIVIAL", - "start_line": 1362, - "end_line": 1362, + "start_line": 1376, + "end_line": 1376, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "handleEnvironmentCreated", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 1459, + "end_line": 1459, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15195,7 +15440,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 2777 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 2858 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -15277,7 +15522,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 172, + "end_line": 173, "tags": { "TIER": "STANDARD", "PURPOSE": "Main page for the Dashboard Health Center.", @@ -15330,14 +15575,14 @@ "line": 14 }, { - "store": "state", - "type": "WRITES_TO", - "line": 17 + "store": "lib", + "type": "READS_FROM", + "line": 15 }, { "store": "state", "type": "WRITES_TO", - "line": 24 + "line": 18 }, { "store": "state", @@ -15353,6 +15598,81 @@ "store": "state", "type": "WRITES_TO", "line": 27 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 28 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 63 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 64 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 68 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 75 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 86 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 102 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 108 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 109 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 110 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 111 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 112 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 114 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 133 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 162 } ] }, @@ -15361,7 +15681,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 172, + "end_line": 173, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/dashboards/health/+page.svelte", "TIER": "TRIVIAL", @@ -15373,8 +15693,8 @@ "name": "loadData", "type": "Function", "tier": "TRIVIAL", - "start_line": 29, - "end_line": 29, + "start_line": 30, + "end_line": 30, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15391,8 +15711,8 @@ "name": "handleEnvChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 53, - "end_line": 53, + "start_line": 54, + "end_line": 54, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15417,7 +15737,7 @@ "type": "Page", "tier": "STANDARD", "start_line": 1, - "end_line": 1057, + "end_line": 1056, "tags": { "TIER": "CRITICAL", "PURPOSE": "Dashboard Detail View - Overview of charts and datasets linked to a dashboard", @@ -15442,7 +15762,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 1057, + "end_line": 1056, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/dashboards/[id]/+page.svelte", "TIER": "TRIVIAL", @@ -15454,8 +15774,8 @@ "name": "loadDashboardPage", "type": "Function", "tier": "TRIVIAL", - "start_line": 86, - "end_line": 86, + "start_line": 91, + "end_line": 91, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15472,8 +15792,8 @@ "name": "loadDashboardDetail", "type": "Function", "tier": "TRIVIAL", - "start_line": 97, - "end_line": 97, + "start_line": 102, + "end_line": 102, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15490,8 +15810,8 @@ "name": "loadTaskHistory", "type": "Function", "tier": "TRIVIAL", - "start_line": 116, - "end_line": 116, + "start_line": 121, + "end_line": 121, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15508,8 +15828,8 @@ "name": "releaseThumbnailUrl", "type": "Function", "tier": "TRIVIAL", - "start_line": 133, - "end_line": 133, + "start_line": 138, + "end_line": 138, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15526,8 +15846,8 @@ "name": "loadThumbnail", "type": "Function", "tier": "TRIVIAL", - "start_line": 140, - "end_line": 140, + "start_line": 145, + "end_line": 145, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15544,8 +15864,8 @@ "name": "runBackupTask", "type": "Function", "tier": "TRIVIAL", - "start_line": 165, - "end_line": 165, + "start_line": 170, + "end_line": 170, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15562,8 +15882,8 @@ "name": "runLlmValidationTask", "type": "Function", "tier": "TRIVIAL", - "start_line": 194, - "end_line": 194, + "start_line": 199, + "end_line": 199, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15580,8 +15900,8 @@ "name": "openLlmReport", "type": "Function", "tier": "TRIVIAL", - "start_line": 233, - "end_line": 233, + "start_line": 238, + "end_line": 238, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15598,8 +15918,8 @@ "name": "toTaskTypeLabel", "type": "Function", "tier": "TRIVIAL", - "start_line": 242, - "end_line": 242, + "start_line": 247, + "end_line": 247, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15616,8 +15936,8 @@ "name": "getTaskStatusClasses", "type": "Function", "tier": "TRIVIAL", - "start_line": 249, - "end_line": 249, + "start_line": 254, + "end_line": 254, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15634,8 +15954,8 @@ "name": "getValidationStatus", "type": "Function", "tier": "TRIVIAL", - "start_line": 261, - "end_line": 261, + "start_line": 266, + "end_line": 266, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15652,8 +15972,8 @@ "name": "getValidationStatusClasses", "type": "Function", "tier": "TRIVIAL", - "start_line": 278, - "end_line": 278, + "start_line": 283, + "end_line": 283, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15670,8 +15990,8 @@ "name": "goBack", "type": "Function", "tier": "TRIVIAL", - "start_line": 288, - "end_line": 288, + "start_line": 293, + "end_line": 293, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15688,8 +16008,8 @@ "name": "openDataset", "type": "Function", "tier": "TRIVIAL", - "start_line": 292, - "end_line": 292, + "start_line": 297, + "end_line": 297, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15706,8 +16026,8 @@ "name": "formatDate", "type": "Function", "tier": "TRIVIAL", - "start_line": 296, - "end_line": 296, + "start_line": 301, + "end_line": 301, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15724,8 +16044,8 @@ "name": "loadLlmStatus", "type": "Function", "tier": "TRIVIAL", - "start_line": 303, - "end_line": 303, + "start_line": 308, + "end_line": 308, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15742,8 +16062,8 @@ "name": "hasGitRepository", "type": "Function", "tier": "TRIVIAL", - "start_line": 314, - "end_line": 314, + "start_line": 319, + "end_line": 319, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15760,8 +16080,8 @@ "name": "resolveGitSyncState", "type": "Function", "tier": "TRIVIAL", - "start_line": 320, - "end_line": 320, + "start_line": 325, + "end_line": 325, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15778,8 +16098,8 @@ "name": "allChangedFiles", "type": "Function", "tier": "TRIVIAL", - "start_line": 345, - "end_line": 345, + "start_line": 350, + "end_line": 350, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15796,8 +16116,8 @@ "name": "countChangedByAnyPath", "type": "Function", "tier": "TRIVIAL", - "start_line": 353, - "end_line": 353, + "start_line": 358, + "end_line": 358, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15814,8 +16134,8 @@ "name": "getGitStatusMeta", "type": "Function", "tier": "TRIVIAL", - "start_line": 359, - "end_line": 359, + "start_line": 364, + "end_line": 364, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15832,8 +16152,8 @@ "name": "loadGitStatus", "type": "Function", "tier": "TRIVIAL", - "start_line": 403, - "end_line": 403, + "start_line": 408, + "end_line": 408, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15850,8 +16170,8 @@ "name": "loadGitDiffPreview", "type": "Function", "tier": "TRIVIAL", - "start_line": 431, - "end_line": 431, + "start_line": 436, + "end_line": 436, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15868,8 +16188,8 @@ "name": "runGitSyncAndOpenCommit", "type": "Function", "tier": "TRIVIAL", - "start_line": 453, - "end_line": 453, + "start_line": 458, + "end_line": 458, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15886,8 +16206,8 @@ "name": "runGitPull", "type": "Function", "tier": "TRIVIAL", - "start_line": 472, - "end_line": 472, + "start_line": 477, + "end_line": 477, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15904,8 +16224,8 @@ "name": "runGitPush", "type": "Function", "tier": "TRIVIAL", - "start_line": 486, - "end_line": 486, + "start_line": 491, + "end_line": 491, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15922,8 +16242,8 @@ "name": "handleBranchChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 500, - "end_line": 500, + "start_line": 505, + "end_line": 505, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -15941,7 +16261,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 1057 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 1056 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -15954,7 +16274,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 234, + "end_line": 238, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, role-management, rbac", @@ -16316,32 +16636,37 @@ { "store": "t", "type": "WRITES_TO", - "line": 202 + "line": 205 }, { "store": "t", "type": "WRITES_TO", - "line": 206 + "line": 209 }, { "store": "t", "type": "WRITES_TO", - "line": 210 + "line": 213 }, { "store": "t", "type": "WRITES_TO", - "line": 219 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 222 + "line": 215 }, { "store": "t", "type": "WRITES_TO", "line": 223 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 226 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 227 } ] }, @@ -16350,7 +16675,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 282, + "end_line": 285, "tags": { "SEMANTICS": "admin, user-management, rbac", "PURPOSE": "UI for managing system users and their roles.", @@ -16741,17 +17066,12 @@ { "store": "t", "type": "WRITES_TO", - "line": 240 + "line": 243 }, { "store": "t", "type": "WRITES_TO", - "line": 244 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 248 + "line": 247 }, { "store": "t", @@ -16761,17 +17081,17 @@ { "store": "t", "type": "WRITES_TO", - "line": 257 + "line": 254 }, { "store": "t", "type": "WRITES_TO", - "line": 261 + "line": 260 }, { "store": "t", "type": "WRITES_TO", - "line": 267 + "line": 264 }, { "store": "t", @@ -16781,7 +17101,12 @@ { "store": "t", "type": "WRITES_TO", - "line": 271 + "line": 273 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 274 } ] }, @@ -16790,7 +17115,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 356, + "end_line": 363, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, adfs, mappings, configuration, logging", @@ -17087,52 +17412,47 @@ { "store": "t", "type": "WRITES_TO", - "line": 256 + "line": 257 }, { "store": "t", "type": "WRITES_TO", - "line": 260 + "line": 261 }, { "store": "t", "type": "WRITES_TO", - "line": 269 + "line": 271 }, { "store": "t", "type": "READS_FROM", - "line": 281 + "line": 283 }, { "store": "t", "type": "WRITES_TO", - "line": 284 + "line": 286 }, { "store": "t", "type": "READS_FROM", - "line": 292 + "line": 294 }, { "store": "t", "type": "READS_FROM", - "line": 292 + "line": 294 }, { "store": "t", "type": "WRITES_TO", - "line": 295 + "line": 297 }, { "store": "t", "type": "WRITES_TO", - "line": 306 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 309 + "line": 308 }, { "store": "t", @@ -17142,12 +17462,12 @@ { "store": "t", "type": "WRITES_TO", - "line": 317 + "line": 320 }, { "store": "t", "type": "WRITES_TO", - "line": 320 + "line": 323 }, { "store": "t", @@ -17156,13 +17476,18 @@ }, { "store": "t", - "type": "READS_FROM", - "line": 338 + "type": "WRITES_TO", + "line": 333 }, { "store": "t", "type": "READS_FROM", - "line": 344 + "line": 345 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 351 } ] }, @@ -17428,7 +17753,7 @@ "type": "Component", "tier": "CRITICAL", "start_line": 36, - "end_line": 453, + "end_line": 456, "tags": { "PURPOSE": "Orchestrate migration UI workflow and route user actions to backend APIs and task store.", "PRE": "API client and component dependencies are available; i18n store is initialized.", @@ -17442,8 +17767,8 @@ "name": "fetchEnvironments", "type": "Function", "tier": "CRITICAL", - "start_line": 97, - "end_line": 117, + "start_line": 100, + "end_line": 120, "tags": { "PURPOSE": "Fetches the list of environments from the API.", "PRE": "None.", @@ -17457,72 +17782,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 97 + "line_number": 100 } ], "score": 0.0 @@ -17532,8 +17857,8 @@ "name": "fetchDashboards", "type": "Function", "tier": "CRITICAL", - "start_line": 119, - "end_line": 140, + "start_line": 122, + "end_line": 143, "tags": { "PURPOSE": "Fetches dashboards for the selected source environment.", "PRE": "envId is a valid environment ID.", @@ -17548,72 +17873,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 119 + "line_number": 122 } ], "score": 0.0 @@ -17623,8 +17948,8 @@ "name": "ReactiveDashboardFetch", "type": "Block", "tier": "CRITICAL", - "start_line": 144, - "end_line": 155, + "start_line": 147, + "end_line": 159, "tags": { "PURPOSE": "Automatically fetch dashboards when the source environment is changed.", "PRE": "sourceEnvId is not empty.", @@ -17639,12 +17964,12 @@ { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 144 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 144 + "line_number": 147 } ], "score": 0.0 @@ -17654,8 +17979,8 @@ "name": "fetchDatabases", "type": "Function", "tier": "CRITICAL", - "start_line": 157, - "end_line": 203, + "start_line": 161, + "end_line": 207, "tags": { "PURPOSE": "Fetches databases from both environments and gets suggestions.", "PRE": "sourceEnvId and targetEnvId must be set.", @@ -17669,72 +17994,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 157 + "line_number": 161 } ], "score": 0.0 @@ -17744,8 +18069,8 @@ "name": "handleMappingUpdate", "type": "Function", "tier": "CRITICAL", - "start_line": 205, - "end_line": 244, + "start_line": 209, + "end_line": 248, "tags": { "PURPOSE": "Saves a mapping to the backend.", "PRE": "event.detail contains sourceUuid and targetUuid.", @@ -17759,72 +18084,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 205 + "line_number": 209 } ], "score": 0.0 @@ -17834,8 +18159,8 @@ "name": "handleViewLogs", "type": "Function", "tier": "CRITICAL", - "start_line": 246, - "end_line": 258, + "start_line": 250, + "end_line": 262, "tags": { "PURPOSE": "Opens the log viewer for a specific task.", "PRE": "event.detail contains task object.", @@ -17849,82 +18174,82 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 246 + "line_number": 250 } ], "score": 0.0 @@ -17934,8 +18259,8 @@ "name": "handlePasswordPrompt", "type": "Function", "tier": "CRITICAL", - "start_line": 260, - "end_line": 295, + "start_line": 264, + "end_line": 298, "tags": { "PURPOSE": "Reactive logic to show password prompt when a task is awaiting input.", "PRE": "selectedTask status is AWAITING_INPUT.", @@ -17947,8 +18272,8 @@ "name": "ReactivePasswordPrompt", "type": "Block", "tier": "CRITICAL", - "start_line": 269, - "end_line": 294, + "start_line": 273, + "end_line": 297, "tags": { "PURPOSE": "Monitor selected task for input requests and trigger password prompt.", "PRE": "$selectedTask is not null and status is AWAITING_INPUT.", @@ -17963,17 +18288,17 @@ { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 269 + "line_number": 273 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 269 + "line_number": 273 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 269 + "line_number": 273 } ], "score": 0.0 @@ -17986,82 +18311,82 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 260 + "line_number": 264 } ], "score": 0.0 @@ -18071,8 +18396,8 @@ "name": "handleResumeMigration", "type": "Function", "tier": "CRITICAL", - "start_line": 297, - "end_line": 318, + "start_line": 300, + "end_line": 321, "tags": { "PURPOSE": "Resumes a migration task with provided passwords.", "PRE": "event.detail contains passwords.", @@ -18086,82 +18411,82 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 297 + "line_number": 300 } ], "score": 0.0 @@ -18171,8 +18496,8 @@ "name": "startMigration", "type": "Function", "tier": "CRITICAL", - "start_line": 320, - "end_line": 395, + "start_line": 323, + "end_line": 398, "tags": { "PURPOSE": "Initiates the migration process by sending the selection to the backend.", "PRE": "sourceEnvId and targetEnvId are set and different; at least one dashboard is selected.", @@ -18188,62 +18513,62 @@ { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 320 + "line_number": 323 } ], "score": 0.0 @@ -18253,8 +18578,8 @@ "name": "startDryRun", "type": "Function", "tier": "CRITICAL", - "start_line": 397, - "end_line": 452, + "start_line": 400, + "end_line": 455, "tags": { "PURPOSE": "Performs a dry-run migration to identify potential risks and changes.", "PRE": "source/target environments and selected dashboards are valid.", @@ -18271,72 +18596,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 397 + "line_number": 400 } ], "score": 0.0 @@ -18403,162 +18728,237 @@ { "store": "lib", "type": "READS_FROM", - "line": 63 + "line": 64 }, { "store": "lib", "type": "READS_FROM", - "line": 64 + "line": 65 }, { - "store": "selectedTask", - "type": "READS_FROM", - "line": 277 - }, - { - "store": "selectedTask", - "type": "READS_FROM", - "line": 278 - }, - { - "store": "selectedTask", - "type": "READS_FROM", - "line": 279 - }, - { - "store": "selectedTask", + "store": "state", "type": "WRITES_TO", - "line": 281 + "line": 69 }, { - "store": "selectedTask", - "type": "READS_FROM", - "line": 283 + "store": "state", + "type": "WRITES_TO", + "line": 70 }, { - "store": "selectedTask", - "type": "READS_FROM", - "line": 288 + "store": "state", + "type": "WRITES_TO", + "line": 71 }, { - "store": "selectedTask", - "type": "READS_FROM", - "line": 288 + "store": "state", + "type": "WRITES_TO", + "line": 72 }, { - "store": "selectedTask", - "type": "READS_FROM", - "line": 303 + "store": "state", + "type": "WRITES_TO", + "line": 73 }, { - "store": "selectedTask", + "store": "state", + "type": "WRITES_TO", + "line": 74 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 75 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 76 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 77 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 78 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 79 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 80 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 81 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 82 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 83 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 84 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 87 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 88 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 89 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 91 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 92 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 93 + }, + { + "store": "effect", "type": "READS_FROM", - "line": 307 + "line": 154 + }, + { + "store": "effect", + "type": "READS_FROM", + "line": 280 }, { "store": "t", "type": "READS_FROM", - "line": 313 + "line": 316 }, { "store": "t", "type": "READS_FROM", - "line": 333 + "line": 336 }, { "store": "t", "type": "READS_FROM", - "line": 340 + "line": 343 }, { "store": "t", "type": "READS_FROM", - "line": 347 + "line": 350 }, { "store": "t", "type": "READS_FROM", - "line": 411 + "line": 414 }, { "store": "t", "type": "READS_FROM", - "line": 418 + "line": 421 }, { "store": "t", "type": "READS_FROM", - "line": 425 + "line": 428 }, { "store": "t", "type": "WRITES_TO", - "line": 469 + "line": 472 }, { "store": "selectedTask", "type": "READS_FROM", - "line": 477 + "line": 480 }, { "store": "t", "type": "READS_FROM", - "line": 485 + "line": 488 }, { "store": "t", "type": "READS_FROM", - "line": 492 + "line": 495 }, { "store": "t", "type": "WRITES_TO", - "line": 504 + "line": 507 }, { "store": "t", "type": "WRITES_TO", - "line": 509 + "line": 512 }, { "store": "t", "type": "READS_FROM", - "line": 519 + "line": 522 }, { "store": "t", "type": "READS_FROM", - "line": 530 + "line": 533 }, { "store": "t", "type": "READS_FROM", - "line": 547 + "line": 550 }, { "store": "t", "type": "READS_FROM", - "line": 564 + "line": 567 }, { "store": "t", "type": "READS_FROM", - "line": 573 + "line": 576 }, { "store": "t", "type": "READS_FROM", - "line": 577 + "line": 580 }, { "store": "t", "type": "READS_FROM", - "line": 593 + "line": 596 }, { "store": "t", "type": "READS_FROM", - "line": 619 + "line": 622 } ] }, @@ -18566,8 +18966,8 @@ "name": "MigrationDashboardView", "type": "Block", "tier": "CRITICAL", - "start_line": 456, - "end_line": 697, + "start_line": 459, + "end_line": 700, "tags": { "PURPOSE": "Render migration configuration controls, action CTAs, dry-run results, and modal entry points.", "UX_STATE": "Success -> Dry-run details or TaskRunner content is presented.", @@ -18580,8 +18980,8 @@ "name": "MigrationHeader", "type": "Block", "tier": "CRITICAL", - "start_line": 468, - "end_line": 470, + "start_line": 471, + "end_line": 473, "tags": {}, "relations": [], "children": [], @@ -18591,22 +18991,22 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 468 + "line_number": 471 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 468 + "line_number": 471 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 468 + "line_number": 471 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 468 + "line_number": 471 } ], "score": 0.0 @@ -18616,8 +19016,8 @@ "name": "TaskHistorySection", "type": "Block", "tier": "CRITICAL", - "start_line": 472, - "end_line": 474, + "start_line": 475, + "end_line": 477, "tags": {}, "relations": [], "children": [], @@ -18627,22 +19027,22 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 472 + "line_number": 475 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 472 + "line_number": 475 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 472 + "line_number": 475 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 472 + "line_number": 475 } ], "score": 0.0 @@ -18652,8 +19052,8 @@ "name": "ActiveTaskSection", "type": "Block", "tier": "CRITICAL", - "start_line": 476, - "end_line": 490, + "start_line": 479, + "end_line": 493, "tags": {}, "relations": [], "children": [], @@ -18663,22 +19063,22 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 476 + "line_number": 479 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 476 + "line_number": 479 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 476 + "line_number": 479 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 476 + "line_number": 479 } ], "score": 0.0 @@ -18688,8 +19088,8 @@ "name": "EnvironmentSelectionSection", "type": "Block", "tier": "CRITICAL", - "start_line": 501, - "end_line": 514, + "start_line": 504, + "end_line": 517, "tags": {}, "relations": [], "children": [], @@ -18699,22 +19099,22 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 501 + "line_number": 504 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 501 + "line_number": 504 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 501 + "line_number": 504 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 501 + "line_number": 504 } ], "score": 0.0 @@ -18724,8 +19124,8 @@ "name": "DashboardSelectionSection", "type": "Component", "tier": "CRITICAL", - "start_line": 516, - "end_line": 535, + "start_line": 519, + "end_line": 538, "tags": {}, "relations": [], "children": [], @@ -18735,112 +19135,112 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @LAYER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @SEMANTICS (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @RELATION (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_STATE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_FEEDBACK (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_RECOVERY (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing @INVARIANT tag (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @LAYER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @SEMANTICS (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @RELATION (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_STATE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_FEEDBACK (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_RECOVERY (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 }, { "message": "Missing @INVARIANT tag (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 516 + "line_number": 519 } ], "score": 0.0 @@ -18850,8 +19250,8 @@ "name": "MigrationOptionsSection", "type": "Block", "tier": "CRITICAL", - "start_line": 537, - "end_line": 568, + "start_line": 540, + "end_line": 571, "tags": {}, "relations": [], "children": [], @@ -18861,22 +19261,22 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 537 + "line_number": 540 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 537 + "line_number": 540 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 537 + "line_number": 540 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 537 + "line_number": 540 } ], "score": 0.0 @@ -18886,8 +19286,8 @@ "name": "DryRunResultsSection", "type": "Block", "tier": "CRITICAL", - "start_line": 623, - "end_line": 664, + "start_line": 626, + "end_line": 667, "tags": {}, "relations": [], "children": [], @@ -18897,22 +19297,22 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 623 + "line_number": 626 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 623 + "line_number": 626 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 623 + "line_number": 626 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 623 + "line_number": 626 } ], "score": 0.0 @@ -18922,8 +19322,8 @@ "name": "MigrationModals", "type": "Block", "tier": "CRITICAL", - "start_line": 668, - "end_line": 694, + "start_line": 671, + "end_line": 697, "tags": { "PURPOSE": "Render overlay components for log viewing and password entry.", "UX_STATE": "[AwaitingInput] -> PasswordPrompt is visible." @@ -18936,12 +19336,12 @@ { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 668 + "line_number": 671 }, { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 668 + "line_number": 671 } ], "score": 0.0 @@ -18954,7 +19354,7 @@ { "message": "Missing Mandatory Tag: @TIER (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 456 + "line_number": 459 } ], "score": 0.35 @@ -19430,7 +19830,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 856, + "end_line": 875, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/profile/+page.svelte", "TIER": "TRIVIAL", @@ -19496,8 +19896,8 @@ "name": "parseValidationErrorsFromError", "type": "Function", "tier": "TRIVIAL", - "start_line": 192, - "end_line": 192, + "start_line": 195, + "end_line": 195, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19514,8 +19914,8 @@ "name": "setSavedSnapshot", "type": "Function", "tier": "TRIVIAL", - "start_line": 206, - "end_line": 206, + "start_line": 209, + "end_line": 209, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19532,8 +19932,8 @@ "name": "syncLocalUiPreferenceCaches", "type": "Function", "tier": "TRIVIAL", - "start_line": 223, - "end_line": 223, + "start_line": 227, + "end_line": 227, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19550,8 +19950,8 @@ "name": "applyPreferenceResponse", "type": "Function", "tier": "TRIVIAL", - "start_line": 234, - "end_line": 234, + "start_line": 238, + "end_line": 238, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19568,24 +19968,6 @@ "name": "loadPreference", "type": "Function", "tier": "TRIVIAL", - "start_line": 273, - "end_line": 273, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "loadLookupCandidates", - "type": "Function", - "tier": "TRIVIAL", "start_line": 278, "end_line": 278, "tags": { @@ -19601,11 +19983,11 @@ } }, { - "name": "handleSelectCandidate", + "name": "loadLookupCandidates", "type": "Function", "tier": "TRIVIAL", - "start_line": 313, - "end_line": 313, + "start_line": 283, + "end_line": 283, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19619,7 +20001,7 @@ } }, { - "name": "handleGitTokenInput", + "name": "handleSelectCandidate", "type": "Function", "tier": "TRIVIAL", "start_line": 318, @@ -19636,12 +20018,30 @@ "score": 1.0 } }, + { + "name": "handleGitTokenInput", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 323, + "end_line": 323, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "handleClearGitToken", "type": "Function", "tier": "TRIVIAL", - "start_line": 325, - "end_line": 325, + "start_line": 330, + "end_line": 330, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19658,8 +20058,8 @@ "name": "handleEnvironmentChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 333, - "end_line": 333, + "start_line": 338, + "end_line": 338, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19676,8 +20076,8 @@ "name": "handleSave", "type": "Function", "tier": "TRIVIAL", - "start_line": 340, - "end_line": 340, + "start_line": 345, + "end_line": 345, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19694,8 +20094,8 @@ "name": "handleCancel", "type": "Function", "tier": "TRIVIAL", - "start_line": 391, - "end_line": 391, + "start_line": 397, + "end_line": 397, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -19713,7 +20113,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 856 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 875 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -19758,7 +20158,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 252, + "end_line": 273, "tags": { "TIER": "STANDARD", "SEMANTICS": "tests, profile, integration, lookup, persistence, fallback", @@ -19808,7 +20208,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 218, + "end_line": 225, "tags": { "TIER": "STANDARD", "SEMANTICS": "storage, files, management", @@ -19824,7 +20224,7 @@ "type": "Function", "tier": "STANDARD", "start_line": 25, - "end_line": 72, + "end_line": 70, "tags": { "PURPOSE": "Fetches the list of files from the server.", "PRE": "currentPath is a valid storage path or empty for root.", @@ -19836,8 +20236,8 @@ "name": "resolveStorageQueryFromPath", "type": "Function", "tier": "STANDARD", - "start_line": 37, - "end_line": 56, + "start_line": 35, + "end_line": 54, "tags": { "PURPOSE": "Splits UI path into storage API category and category-local subpath.", "PRE": "uiPath may be empty or start with backups/repositorys.", @@ -19851,47 +20251,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 37 + "line_number": 35 } ], "score": 0.0 @@ -19939,8 +20339,8 @@ "name": "handleDelete", "type": "Function", "tier": "STANDARD", - "start_line": 74, - "end_line": 96, + "start_line": 72, + "end_line": 98, "tags": { "PURPOSE": "Handles the file deletion process.", "PRE": "The event contains valid category and path.", @@ -19955,43 +20355,33 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 74 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 74 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 74 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 74 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 74 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 74 + "line_number": 72 } ], - "score": 0.0 + "score": 0.28 } }, { "name": "handleNavigate", "type": "Function", "tier": "STANDARD", - "start_line": 98, - "end_line": 110, + "start_line": 100, + "end_line": 116, "tags": { "PURPOSE": "Updates the current path and reloads files when navigating into a directory.", "PRE": "The event contains a valid path string.", @@ -20006,43 +20396,33 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 98 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 98 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 98 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 98 + "line_number": 100 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 98 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 98 + "line_number": 100 } ], - "score": 0.0 + "score": 0.28 } }, { "name": "navigateUp", "type": "Function", "tier": "STANDARD", - "start_line": 112, - "end_line": 125, + "start_line": 118, + "end_line": 131, "tags": { "PURPOSE": "Navigates one level up in the directory structure.", "PRE": "currentPath is not root.", @@ -20056,32 +20436,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 118 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 118 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 118 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 118 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 118 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 118 } ], "score": 0.0 @@ -20091,8 +20471,8 @@ "name": "updateUploadCategory", "type": "Function", "tier": "STANDARD", - "start_line": 127, - "end_line": 140, + "start_line": 133, + "end_line": 150, "tags": { "PURPOSE": "Keeps upload category aligned with the currently viewed top-level folder.", "PRE": "currentPath can be empty or a slash-delimited path.", @@ -20106,32 +20486,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 127 + "line_number": 133 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 127 + "line_number": 133 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 127 + "line_number": 133 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 127 + "line_number": 133 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 127 + "line_number": 133 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 127 + "line_number": 133 } ], "score": 0.0 @@ -20150,14 +20530,9 @@ "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `$:` reactive label is forbidden; use runes `$state/$derived/$effect`", - "severity": "WARNING", - "line_number": 1 } ], - "score": 0.46428571428571436 + "score": 0.6142857142857142 }, "data_flow": [ { @@ -20166,54 +20541,74 @@ "line": 17 }, { - "store": "t", - "type": "READS_FROM", - "line": 67 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 84 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 89 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 93 - }, - { - "store": "page", + "store": "state", "type": "WRITES_TO", - "line": 143 + "line": 31 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 32 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 33 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 65 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 86 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 91 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 95 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 139 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 144 }, { "store": "t", "type": "WRITES_TO", - "line": 157 + "line": 164 }, { "store": "t", "type": "WRITES_TO", - "line": 159 + "line": 166 }, { "store": "t", "type": "READS_FROM", - "line": 181 + "line": 188 }, { "store": "t", "type": "READS_FROM", - "line": 181 + "line": 188 }, { "store": "t", "type": "READS_FROM", - "line": 197 + "line": 204 } ] }, @@ -21070,7 +21465,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 530, + "end_line": 532, "tags": { "SEMANTICS": "git, settings, configuration, integration", "PURPOSE": "Manage Git server configurations for dashboard versioning.", @@ -21577,14 +21972,9 @@ "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `$:` reactive label is forbidden; use runes `$state/$derived/$effect`", - "severity": "WARNING", - "line_number": 1 } ], - "score": 0.27142857142857146 + "score": 0.4214285714285715 }, "data_flow": [ { @@ -21597,6 +21987,61 @@ "type": "READS_FROM", "line": 18 }, + { + "store": "state", + "type": "WRITES_TO", + "line": 22 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 23 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 31 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 32 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 33 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 34 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 35 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 36 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 37 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 38 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 39 + }, { "store": "t", "type": "READS_FROM", @@ -21633,14 +22078,14 @@ "line": 182 }, { - "store": "t", - "type": "WRITES_TO", - "line": 291 + "store": "effect", + "type": "READS_FROM", + "line": 284 }, { "store": "t", "type": "WRITES_TO", - "line": 295 + "line": 293 }, { "store": "t", @@ -21650,27 +22095,27 @@ { "store": "t", "type": "WRITES_TO", - "line": 328 + "line": 299 }, { "store": "t", "type": "WRITES_TO", - "line": 344 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 369 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 370 + "line": 330 }, { "store": "t", "type": "WRITES_TO", - "line": 374 + "line": 346 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 371 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 372 }, { "store": "t", @@ -21680,37 +22125,37 @@ { "store": "t", "type": "WRITES_TO", - "line": 379 + "line": 378 }, { "store": "t", "type": "WRITES_TO", - "line": 388 + "line": 381 }, { "store": "t", "type": "WRITES_TO", - "line": 392 + "line": 390 }, { "store": "t", "type": "WRITES_TO", - "line": 397 + "line": 394 }, { "store": "t", "type": "WRITES_TO", - "line": 402 + "line": 399 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 404 }, { "store": "t", "type": "READS_FROM", - "line": 414 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 418 + "line": 416 }, { "store": "t", @@ -21720,7 +22165,12 @@ { "store": "t", "type": "READS_FROM", - "line": 424 + "line": 422 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 426 } ] }, @@ -21774,7 +22224,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 201, + "end_line": 282, "tags": { "TIER": "STANDARD", "PURPOSE": "Settings page for managing validation policies.", @@ -21855,6 +22305,11 @@ "store": "state", "type": "WRITES_TO", "line": 26 + }, + { + "store": "effect", + "type": "READS_FROM", + "line": 154 } ] }, @@ -21863,7 +22318,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 201, + "end_line": 282, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/settings/automation/+page.svelte", "TIER": "TRIVIAL", @@ -21893,8 +22348,8 @@ "name": "handleAdd", "type": "Function", "tier": "TRIVIAL", - "start_line": 48, - "end_line": 48, + "start_line": 89, + "end_line": 89, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -21911,8 +22366,8 @@ "name": "handleEdit", "type": "Function", "tier": "TRIVIAL", - "start_line": 53, - "end_line": 53, + "start_line": 94, + "end_line": 94, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -21929,8 +22384,8 @@ "name": "handleSave", "type": "Function", "tier": "TRIVIAL", - "start_line": 58, - "end_line": 58, + "start_line": 109, + "end_line": 109, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -21947,8 +22402,8 @@ "name": "handleDelete", "type": "Function", "tier": "TRIVIAL", - "start_line": 74, - "end_line": 74, + "start_line": 125, + "end_line": 125, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -21965,8 +22420,8 @@ "name": "getEnvName", "type": "Function", "tier": "TRIVIAL", - "start_line": 85, - "end_line": 85, + "start_line": 136, + "end_line": 136, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -21991,7 +22446,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 122, + "end_line": 126, "tags": { "PURPOSE": "Dashboard management page for Git integration.", "LAYER": "Page", @@ -22003,8 +22458,8 @@ "name": "fetchEnvironments", "type": "Function", "tier": "STANDARD", - "start_line": 27, - "end_line": 42, + "start_line": 32, + "end_line": 46, "tags": { "PURPOSE": "Fetches the list of deployment environments from the API.", "PRE": "Component is mounted.", @@ -22018,32 +22473,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 32 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 32 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 32 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 32 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 32 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 32 } ], "score": 0.0 @@ -22053,8 +22508,8 @@ "name": "fetchDashboards", "type": "Function", "tier": "STANDARD", - "start_line": 44, - "end_line": 77, + "start_line": 48, + "end_line": 81, "tags": { "PURPOSE": "Fetches dashboards for a specific environment.", "PRE": "`envId` is a valid environment ID.", @@ -22068,32 +22523,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 48 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 48 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 48 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 48 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 48 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 48 } ], "score": 0.0 @@ -22122,21 +22577,11 @@ "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `$:` reactive label is forbidden; use runes `$state/$derived/$effect`", - "severity": "WARNING", - "line_number": 1 } ], - "score": 0.0785714285714286 + "score": 0.22857142857142862 }, "data_flow": [ - { - "store": "lib", - "type": "READS_FROM", - "line": 13 - }, { "store": "lib", "type": "READS_FROM", @@ -22145,62 +22590,72 @@ { "store": "lib", "type": "READS_FROM", - "line": 19 + "line": 15 }, { - "store": "environmentContextStore", - "type": "WRITES_TO", - "line": 34 - }, - { - "store": "environmentContextStore", - "type": "WRITES_TO", - "line": 35 - }, - { - "store": "environmentContextStore", + "store": "lib", "type": "READS_FROM", - "line": 81 + "line": 20 }, { - "store": "environmentContextStore", + "store": "state", + "type": "WRITES_TO", + "line": 24 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 25 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 26 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 27 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 28 + }, + { + "store": "effect", "type": "READS_FROM", - "line": 83 + "line": 85 }, { - "store": "environmentContextStore", - "type": "WRITES_TO", - "line": 84 - }, - { - "store": "environmentContextStore", - "type": "WRITES_TO", - "line": 86 + "store": "effect", + "type": "READS_FROM", + "line": 92 }, { "store": "t", "type": "WRITES_TO", - "line": 96 + "line": 100 }, { "store": "t", "type": "WRITES_TO", - "line": 99 + "line": 103 }, { "store": "t", "type": "WRITES_TO", - "line": 111 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 113 + "line": 115 }, { "store": "t", "type": "WRITES_TO", "line": 117 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 121 } ] }, @@ -24736,7 +25191,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 706, + "end_line": 699, "tags": { "TIER": "STANDARD", "SEMANTICS": "dashboard, grid, selection, pagination", @@ -24751,8 +25206,8 @@ "name": "handleSort", "type": "Function", "tier": "STANDARD", - "start_line": 103, - "end_line": 115, + "start_line": 99, + "end_line": 111, "tags": { "PURPOSE": "Toggles sort direction or changes sort column.", "PRE": "column name is provided.", @@ -24766,32 +25221,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 99 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 99 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 99 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 99 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 99 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 99 } ], "score": 0.0 @@ -24801,12 +25256,12 @@ "name": "handleSelectionChange", "type": "Function", "tier": "STANDARD", - "start_line": 117, - "end_line": 131, + "start_line": 113, + "end_line": 126, "tags": { "PURPOSE": "Handles individual checkbox changes.", "PRE": "dashboard ID and checked status provided.", - "POST": "selectedIds array updated and selectionChanged event dispatched." + "POST": "selectedIds array updated." }, "relations": [], "children": [], @@ -24816,32 +25271,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 113 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 113 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 113 } ], "score": 0.0 @@ -24851,12 +25306,12 @@ "name": "handleSelectAll", "type": "Function", "tier": "STANDARD", - "start_line": 133, - "end_line": 151, + "start_line": 128, + "end_line": 145, "tags": { "PURPOSE": "Handles select all checkbox.", "PRE": "checked status provided.", - "POST": "selectedIds array updated for all paginated items and event dispatched." + "POST": "selectedIds array updated for all paginated items." }, "relations": [], "children": [], @@ -24866,32 +25321,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 133 + "line_number": 128 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 133 + "line_number": 128 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 133 + "line_number": 128 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 133 + "line_number": 128 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 133 + "line_number": 128 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 133 + "line_number": 128 } ], "score": 0.0 @@ -24901,8 +25356,8 @@ "name": "goToPage", "type": "Function", "tier": "STANDARD", - "start_line": 153, - "end_line": 162, + "start_line": 147, + "end_line": 156, "tags": { "PURPOSE": "Changes current page.", "PRE": "page index is provided.", @@ -24916,32 +25371,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 153 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 153 + "line_number": 147 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 153 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 153 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 153 + "line_number": 147 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 153 + "line_number": 147 } ], "score": 0.0 @@ -24951,8 +25406,8 @@ "name": "getRepositoryStatusToken", "type": "Function", "tier": "STANDARD", - "start_line": 164, - "end_line": 173, + "start_line": 158, + "end_line": 167, "tags": { "PURPOSE": "Returns normalized repository status token for a dashboard.", "PRE": "Dashboard exists.", @@ -24966,32 +25421,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 158 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 158 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 158 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 158 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 158 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 158 } ], "score": 0.0 @@ -25001,8 +25456,8 @@ "name": "isRepositoryReady", "type": "Function", "tier": "STANDARD", - "start_line": 175, - "end_line": 181, + "start_line": 169, + "end_line": 175, "tags": { "PURPOSE": "Determines whether git actions can run for a dashboard." }, @@ -25014,52 +25469,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 175 + "line_number": 169 } ], "score": 0.0 @@ -25069,8 +25524,8 @@ "name": "invalidateRepositoryStatuses", "type": "Function", "tier": "STANDARD", - "start_line": 183, - "end_line": 193, + "start_line": 177, + "end_line": 187, "tags": { "PURPOSE": "Marks dashboard statuses as loading so they are refetched." }, @@ -25082,52 +25537,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 183 + "line_number": 177 } ], "score": 0.0 @@ -25137,8 +25592,8 @@ "name": "resolveRepositoryStatusToken", "type": "Function", "tier": "STANDARD", - "start_line": 195, - "end_line": 227, + "start_line": 189, + "end_line": 221, "tags": { "PURPOSE": "Converts git status payload into a stable UI status token." }, @@ -25150,52 +25605,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 195 + "line_number": 189 } ], "score": 0.0 @@ -25205,8 +25660,8 @@ "name": "loadRepositoryStatuses", "type": "Function", "tier": "STANDARD", - "start_line": 229, - "end_line": 288, + "start_line": 223, + "end_line": 282, "tags": { "PURPOSE": "Hydrates repository status map for dashboards in repository mode." }, @@ -25218,52 +25673,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 229 + "line_number": 223 } ], "score": 0.0 @@ -25273,8 +25728,8 @@ "name": "runBulkGitAction", "type": "Function", "tier": "STANDARD", - "start_line": 290, - "end_line": 342, + "start_line": 284, + "end_line": 336, "tags": { "PURPOSE": "Executes git action for selected dashboards with limited parallelism." }, @@ -25286,52 +25741,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 290 + "line_number": 284 } ], "score": 0.0 @@ -25341,8 +25796,84 @@ "name": "handleBulkSync", "type": "Function", "tier": "STANDARD", + "start_line": 338, + "end_line": 342, + "tags": {}, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 338 + } + ], + "score": 0.0 + } + }, + { + "name": "handleBulkCommit", + "type": "Function", + "tier": "STANDARD", "start_line": 344, - "end_line": 348, + "end_line": 352, "tags": {}, "relations": [], "children": [], @@ -25414,10 +25945,10 @@ } }, { - "name": "handleBulkCommit", + "name": "handleBulkPull", "type": "Function", "tier": "STANDARD", - "start_line": 350, + "start_line": 354, "end_line": 358, "tags": {}, "relations": [], @@ -25428,69 +25959,69 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 350 + "line_number": 354 } ], "score": 0.0 } }, { - "name": "handleBulkPull", + "name": "handleBulkPush", "type": "Function", "tier": "STANDARD", "start_line": 360, @@ -25565,88 +26096,12 @@ "score": 0.0 } }, - { - "name": "handleBulkPush", - "type": "Function", - "tier": "STANDARD", - "start_line": 366, - "end_line": 370, - "tags": {}, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 366 - } - ], - "score": 0.0 - } - }, { "name": "handleBulkDelete", "type": "Function", "tier": "STANDARD", - "start_line": 372, - "end_line": 384, + "start_line": 366, + "end_line": 377, "tags": { "PURPOSE": "Removes selected repositories from storage and binding table." }, @@ -25658,52 +26113,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 372 + "line_number": 366 } ], "score": 0.0 @@ -25713,8 +26168,8 @@ "name": "handleManageSelected", "type": "Function", "tier": "STANDARD", - "start_line": 386, - "end_line": 400, + "start_line": 379, + "end_line": 393, "tags": { "PURPOSE": "Opens Git manager for exactly one selected dashboard." }, @@ -25726,52 +26181,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 386 + "line_number": 379 } ], "score": 0.0 @@ -25781,8 +26236,8 @@ "name": "resolveDashboardRef", "type": "Function", "tier": "STANDARD", - "start_line": 402, - "end_line": 421, + "start_line": 395, + "end_line": 414, "tags": { "PURPOSE": "Resolves dashboard slug from payload fields.", "PRE": "Dashboard metadata is provided.", @@ -25796,32 +26251,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 402 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 402 + "line_number": 395 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 402 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 402 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 402 + "line_number": 395 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 402 + "line_number": 395 } ], "score": 0.0 @@ -25831,8 +26286,8 @@ "name": "openGitManagerForDashboard", "type": "Function", "tier": "STANDARD", - "start_line": 423, - "end_line": 436, + "start_line": 416, + "end_line": 429, "tags": { "PURPOSE": "Opens Git manager for provided dashboard metadata." }, @@ -25844,52 +26299,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 416 } ], "score": 0.0 @@ -25899,8 +26354,8 @@ "name": "handleInitializeRepositories", "type": "Function", "tier": "STANDARD", - "start_line": 438, - "end_line": 449, + "start_line": 431, + "end_line": 442, "tags": { "PURPOSE": "Opens Git manager from bulk actions to initialize selected repository." }, @@ -25912,52 +26367,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 438 + "line_number": 431 } ], "score": 0.0 @@ -25967,8 +26422,8 @@ "name": "getSortStatusValue", "type": "Function", "tier": "STANDARD", - "start_line": 451, - "end_line": 461, + "start_line": 444, + "end_line": 454, "tags": { "PURPOSE": "Returns sort value for status column based on mode." }, @@ -25980,52 +26435,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 451 + "line_number": 444 } ], "score": 0.0 @@ -26035,8 +26490,8 @@ "name": "getStatusLabel", "type": "Function", "tier": "STANDARD", - "start_line": 463, - "end_line": 474, + "start_line": 456, + "end_line": 467, "tags": { "PURPOSE": "Returns localized label for status column." }, @@ -26048,52 +26503,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 463 + "line_number": 456 } ], "score": 0.0 @@ -26103,8 +26558,8 @@ "name": "getStatusBadgeClass", "type": "Function", "tier": "STANDARD", - "start_line": 476, - "end_line": 497, + "start_line": 469, + "end_line": 490, "tags": { "PURPOSE": "Returns badge style for status column." }, @@ -26116,52 +26571,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 476 + "line_number": 469 } ], "score": 0.0 @@ -26184,9 +26639,6 @@ ], "score": 0.6142857142857142 }, - "events": [ - "selectionChanged" - ], "data_flow": [ { "store": "props", @@ -26281,72 +26733,82 @@ { "store": "t", "type": "READS_FROM", - "line": 302 + "line": 296 }, { "store": "t", "type": "WRITES_TO", - "line": 330 + "line": 324 }, { "store": "t", "type": "READS_FROM", - "line": 332 + "line": 326 }, { "store": "t", "type": "WRITES_TO", - "line": 352 + "line": 346 }, { "store": "t", "type": "READS_FROM", - "line": 375 + "line": 369 }, { "store": "t", "type": "READS_FROM", - "line": 390 + "line": 383 }, { "store": "t", "type": "READS_FROM", - "line": 429 + "line": 422 }, { "store": "t", "type": "READS_FROM", - "line": 442 + "line": 435 }, { "store": "t", "type": "READS_FROM", - "line": 472 + "line": 465 }, { "store": "effect", "type": "READS_FROM", - "line": 499 + "line": 492 }, { "store": "t", "type": "WRITES_TO", - "line": 517 + "line": 510 }, { "store": "t", "type": "READS_FROM", - "line": 530 + "line": 523 }, { "store": "t", "type": "READS_FROM", - "line": 539 + "line": 532 }, { "store": "t", "type": "READS_FROM", - "line": 543 + "line": 536 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 540 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 544 }, { "store": "t", @@ -26361,47 +26823,37 @@ { "store": "t", "type": "READS_FROM", - "line": 554 + "line": 555 }, { "store": "t", "type": "READS_FROM", - "line": 558 + "line": 582 }, { "store": "t", "type": "READS_FROM", - "line": 562 + "line": 593 }, { "store": "t", "type": "READS_FROM", - "line": 589 + "line": 604 }, { "store": "t", "type": "READS_FROM", - "line": 600 + "line": 656 }, { "store": "t", "type": "READS_FROM", - "line": 611 + "line": 674 }, { "store": "t", "type": "READS_FROM", - "line": 663 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 681 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 689 + "line": 682 } ] }, @@ -26410,12 +26862,12 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 179, + "end_line": 182, "tags": { "SEMANTICS": "password, prompt, modal, input, security", "PURPOSE": "A modal component to prompt the user for database passwords when a migration task is paused.", "LAYER": "UI", - "RELATION": "EMITS -> resume, cancel" + "RELATION": "BINDS_TO -> oncancel" }, "relations": [], "children": [ @@ -26423,12 +26875,12 @@ "name": "handleSubmit", "type": "Function", "tier": "STANDARD", - "start_line": 19, - "end_line": 37, + "start_line": 22, + "end_line": 40, "tags": { - "PURPOSE": "Validates and dispatches the passwords to resume the task.", + "PURPOSE": "Validates and forwards passwords to resume the task.", "PRE": "All database passwords must be entered.", - "POST": "'resume' event is dispatched with passwords." + "POST": "Parent resume callback receives passwords payload." }, "relations": [], "children": [], @@ -26438,32 +26890,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 19 + "line_number": 22 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 19 + "line_number": 22 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 19 + "line_number": 22 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 19 + "line_number": 22 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 19 + "line_number": 22 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 19 + "line_number": 22 } ], "score": 0.0 @@ -26473,12 +26925,12 @@ "name": "handleCancel", "type": "Function", "tier": "STANDARD", - "start_line": 39, - "end_line": 47, + "start_line": 42, + "end_line": 50, "tags": { "PURPOSE": "Cancels the password prompt.", "PRE": "Modal is open.", - "POST": "'cancel' event is dispatched and show is set to false." + "POST": "Parent cancel callback is invoked and show is set to false." }, "relations": [], "children": [], @@ -26488,32 +26940,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 42 } ], "score": 0.0 @@ -26541,30 +26993,26 @@ ], "score": 0.4214285714285715 }, - "events": [ - "cancel", - "resume" - ], "data_flow": [ { "store": "props", "type": "WRITES_TO", - "line": 12 - }, - { - "store": "state", - "type": "WRITES_TO", - "line": 16 - }, - { - "store": "state", - "type": "WRITES_TO", "line": 17 }, + { + "store": "state", + "type": "WRITES_TO", + "line": 19 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 20 + }, { "store": "effect", "type": "READS_FROM", - "line": 50 + "line": 53 } ] }, @@ -26573,7 +27021,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 108, + "end_line": 106, "tags": { "SEMANTICS": "mapping, table, database, editor", "PURPOSE": "Displays and allows editing of database mappings.", @@ -26587,12 +27035,12 @@ "name": "updateMapping", "type": "Function", "tier": "STANDARD", - "start_line": 29, - "end_line": 47, + "start_line": 27, + "end_line": 45, "tags": { "PURPOSE": "Updates a mapping for a specific source database.", "PRE": "sourceUuid and targetUuid are provided.", - "POST": "'update' event is dispatched." + "POST": "Parent callback receives normalized mapping payload." }, "relations": [], "children": [], @@ -26602,32 +27050,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 } ], "score": 0.0 @@ -26637,8 +27085,8 @@ "name": "getSuggestion", "type": "Function", "tier": "STANDARD", - "start_line": 49, - "end_line": 58, + "start_line": 47, + "end_line": 56, "tags": { "PURPOSE": "Finds a suggestion for a source database.", "PRE": "sourceUuid is provided.", @@ -26652,32 +27100,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 49 + "line_number": 47 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 49 + "line_number": 47 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 49 + "line_number": 47 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 49 + "line_number": 47 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 49 + "line_number": 47 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 49 + "line_number": 47 } ], "score": 0.0 @@ -26705,20 +27153,27 @@ ], "score": 0.4214285714285715 }, - "events": [ - "update" - ], "data_flow": [ { "store": "lib", "type": "READS_FROM", - "line": 14 + "line": 13 }, { "store": "props", "type": "WRITES_TO", "line": 23 }, + { + "store": "t", + "type": "WRITES_TO", + "line": 64 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 65 + }, { "store": "t", "type": "WRITES_TO", @@ -26727,17 +27182,12 @@ { "store": "t", "type": "WRITES_TO", - "line": 67 + "line": 83 }, { "store": "t", "type": "WRITES_TO", - "line": 68 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 85 + "line": 91 }, { "store": "t", @@ -26748,11 +27198,6 @@ "store": "t", "type": "WRITES_TO", "line": 95 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 97 } ] }, @@ -26761,7 +27206,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 256, + "end_line": 259, "tags": { "TIER": "CRITICAL", "SEMANTICS": "task, log, viewer, inline, realtime", @@ -26785,8 +27230,8 @@ "name": "handleRealTimeLogs", "type": "Action", "tier": "STANDARD", - "start_line": 61, - "end_line": 78, + "start_line": 60, + "end_line": 77, "tags": { "PURPOSE": "Sync real-time logs to the current log list", "PRE": "None", @@ -26804,8 +27249,8 @@ "name": "fetchLogs", "type": "Function", "tier": "STANDARD", - "start_line": 80, - "end_line": 100, + "start_line": 79, + "end_line": 99, "tags": { "PURPOSE": "Fetches logs for a given task ID", "PRE": "taskId is set", @@ -26819,32 +27264,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 } ], "score": 0.0 @@ -26854,11 +27299,11 @@ "name": "handleFilterChange", "type": "Function", "tier": "STANDARD", - "start_line": 102, - "end_line": 110, + "start_line": 101, + "end_line": 109, "tags": { "PURPOSE": "Updates filter conditions for the log viewer", - "PRE": "event contains detail with source and level", + "PRE": "event contains source and level fields", "POST": "Log viewer filters updated" }, "relations": [], @@ -26869,32 +27314,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 101 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 101 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 101 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 101 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 101 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 101 } ], "score": 0.0 @@ -26904,8 +27349,8 @@ "name": "handleRefresh", "type": "Function", "tier": "STANDARD", - "start_line": 112, - "end_line": 120, + "start_line": 111, + "end_line": 119, "tags": { "PURPOSE": "Refreshes the logs by polling the API", "PRE": "None", @@ -26919,32 +27364,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 111 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 111 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 111 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 111 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 111 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 112 + "line_number": 111 } ], "score": 0.0 @@ -26954,8 +27399,8 @@ "name": "showInline", "type": "Component", "tier": "STANDARD", - "start_line": 148, - "end_line": 185, + "start_line": 147, + "end_line": 183, "tags": { "PURPOSE": "Shows inline logs -->", "LAYER": "UI -->", @@ -26970,32 +27415,32 @@ { "message": "Missing Mandatory Tag: @RELATION (required for STANDARD tier)", "severity": "WARNING", - "line_number": 148 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 148 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", - "line_number": 148 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @RELATION (required for STANDARD tier)", "severity": "WARNING", - "line_number": 148 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 148 + "line_number": 147 }, { "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", - "line_number": 148 + "line_number": 147 } ], "score": 0.0 @@ -27005,8 +27450,8 @@ "name": "showModal", "type": "Component", "tier": "STANDARD", - "start_line": 187, - "end_line": 254, + "start_line": 185, + "end_line": 257, "tags": { "PURPOSE": "Shows modal logs -->", "LAYER": "UI -->", @@ -27021,32 +27466,32 @@ { "message": "Missing Mandatory Tag: @RELATION (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 185 }, { "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 185 }, { "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 185 }, { "message": "Missing Mandatory Tag: @RELATION (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 185 }, { "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 185 }, { "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 185 } ], "score": 0.0 @@ -27064,9 +27509,6 @@ ], "score": 0.8071428571428572 }, - "events": [ - "close" - ], "data_flow": [ { "store": "bindable", @@ -27076,7 +27518,12 @@ { "store": "props", "type": "WRITES_TO", - "line": 49 + "line": 50 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 52 }, { "store": "state", @@ -27091,52 +27538,47 @@ { "store": "state", "type": "WRITES_TO", - "line": 55 - }, - { - "store": "state", - "type": "WRITES_TO", - "line": 57 + "line": 56 }, { "store": "derived", "type": "WRITES_TO", - "line": 59 + "line": 58 }, { "store": "effect", "type": "READS_FROM", - "line": 65 + "line": 64 }, { "store": "effect", "type": "READS_FROM", - "line": 122 + "line": 121 }, { "store": "t", "type": "READS_FROM", - "line": 162 + "line": 161 }, { "store": "t", "type": "WRITES_TO", - "line": 172 + "line": 171 }, { "store": "t", "type": "READS_FROM", - "line": 221 + "line": 224 }, { "store": "t", "type": "WRITES_TO", - "line": 229 + "line": 232 }, { "store": "t", "type": "READS_FROM", - "line": 235 + "line": 238 } ] }, @@ -27165,12 +27607,12 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 118, + "end_line": 116, "tags": { "SEMANTICS": "modal, mapping, prompt, migration", "PURPOSE": "Prompts the user to provide a database mapping when one is missing during migration.", "LAYER": "Feature", - "RELATION": "DISPATCHES -> resolve", + "RELATION": "BINDS_TO -> oncancel", "INVARIANT": "Modal blocks migration progress until resolved or cancelled." }, "relations": [], @@ -27179,12 +27621,12 @@ "name": "resolve", "type": "Function", "tier": "STANDARD", - "start_line": 29, - "end_line": 42, + "start_line": 27, + "end_line": 40, "tags": { - "PURPOSE": "Dispatches the resolution event with the selected mapping.", + "PURPOSE": "Resolves the missing mapping via callback prop.", "PRE": "selectedTargetUuid must be set.", - "POST": "'resolve' event is dispatched and modal is hidden." + "POST": "Parent callback receives mapping payload and modal closes." }, "relations": [], "children": [], @@ -27194,32 +27636,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 27 } ], "score": 0.0 @@ -27229,12 +27671,12 @@ "name": "cancel", "type": "Function", "tier": "STANDARD", - "start_line": 44, - "end_line": 52, + "start_line": 42, + "end_line": 50, "tags": { "PURPOSE": "Cancels the mapping resolution modal.", "PRE": "Modal is open.", - "POST": "'cancel' event is dispatched and modal is hidden." + "POST": "Parent cancel callback is invoked and modal is hidden." }, "relations": [], "children": [], @@ -27244,32 +27686,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 42 } ], "score": 0.0 @@ -27297,20 +27739,16 @@ ], "score": 0.4214285714285715 }, - "events": [ - "cancel", - "resolve" - ], "data_flow": [ { "store": "props", "type": "WRITES_TO", - "line": 22 + "line": 21 }, { "store": "state", "type": "WRITES_TO", - "line": 26 + "line": 25 } ] }, @@ -27319,7 +27757,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 357, + "end_line": 350, "tags": { "TIER": "STANDARD", "SEMANTICS": "dashboard, grid, selection, pagination", @@ -27334,8 +27772,8 @@ "name": "handleValidate", "type": "Function", "tier": "STANDARD", - "start_line": 43, - "end_line": 70, + "start_line": 42, + "end_line": 69, "tags": { "PURPOSE": "Triggers dashboard validation task." }, @@ -27347,52 +27785,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 42 } ], "score": 0.0 @@ -27402,8 +27840,8 @@ "name": "handleSort", "type": "Function", "tier": "STANDARD", - "start_line": 115, - "end_line": 127, + "start_line": 110, + "end_line": 122, "tags": { "PURPOSE": "Toggles sort direction or changes sort column.", "PRE": "column name is provided.", @@ -27417,32 +27855,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 115 + "line_number": 110 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 115 + "line_number": 110 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 115 + "line_number": 110 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 115 + "line_number": 110 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 115 + "line_number": 110 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 115 + "line_number": 110 } ], "score": 0.0 @@ -27452,12 +27890,12 @@ "name": "handleSelectionChange", "type": "Function", "tier": "STANDARD", - "start_line": 129, - "end_line": 143, + "start_line": 124, + "end_line": 137, "tags": { "PURPOSE": "Handles individual checkbox changes.", "PRE": "dashboard ID and checked status provided.", - "POST": "selectedIds array updated and selectionChanged event dispatched." + "POST": "selectedIds array updated." }, "relations": [], "children": [], @@ -27467,32 +27905,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 129 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 129 + "line_number": 124 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 129 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 129 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 129 + "line_number": 124 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 129 + "line_number": 124 } ], "score": 0.0 @@ -27502,12 +27940,12 @@ "name": "handleSelectAll", "type": "Function", "tier": "STANDARD", - "start_line": 145, - "end_line": 163, + "start_line": 139, + "end_line": 156, "tags": { "PURPOSE": "Handles select all checkbox.", "PRE": "checked status provided.", - "POST": "selectedIds array updated for all paginated items and event dispatched." + "POST": "selectedIds array updated for all paginated items." }, "relations": [], "children": [], @@ -27517,32 +27955,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 139 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 139 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 139 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 139 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 139 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 139 } ], "score": 0.0 @@ -27552,8 +27990,8 @@ "name": "goToPage", "type": "Function", "tier": "STANDARD", - "start_line": 165, - "end_line": 174, + "start_line": 158, + "end_line": 167, "tags": { "PURPOSE": "Changes current page.", "PRE": "page index is provided.", @@ -27567,32 +28005,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 165 + "line_number": 158 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 165 + "line_number": 158 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 165 + "line_number": 158 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 165 + "line_number": 158 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 165 + "line_number": 158 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 165 + "line_number": 158 } ], "score": 0.0 @@ -27602,8 +28040,8 @@ "name": "openGit", "type": "Function", "tier": "STANDARD", - "start_line": 176, - "end_line": 185, + "start_line": 169, + "end_line": 178, "tags": { "PURPOSE": "Opens the Git management modal for a dashboard." }, @@ -27615,52 +28053,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 176 + "line_number": 169 } ], "score": 0.0 @@ -27683,14 +28121,16 @@ ], "score": 0.6142857142857142 }, - "events": [ - "selectionChanged" - ], "data_flow": [ { "store": "props", "type": "WRITES_TO", - "line": 24 + "line": 23 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 28 }, { "store": "state", @@ -27715,7 +28155,7 @@ { "store": "state", "type": "WRITES_TO", - "line": 33 + "line": 36 }, { "store": "state", @@ -27733,89 +28173,84 @@ "line": 39 }, { - "store": "state", + "store": "derived", "type": "WRITES_TO", - "line": 40 + "line": 72 }, { "store": "derived", "type": "WRITES_TO", - "line": 73 + "line": 78 }, { "store": "derived", "type": "WRITES_TO", - "line": 79 + "line": 92 }, { "store": "derived", "type": "WRITES_TO", - "line": 93 + "line": 99 }, { "store": "derived", "type": "WRITES_TO", - "line": 100 + "line": 101 }, { "store": "derived", "type": "WRITES_TO", - "line": 102 - }, - { - "store": "derived", - "type": "WRITES_TO", - "line": 106 + "line": 105 }, { "store": "t", "type": "WRITES_TO", - "line": 192 + "line": 185 }, { "store": "t", "type": "READS_FROM", - "line": 214 + "line": 207 }, { "store": "t", "type": "READS_FROM", - "line": 225 + "line": 218 }, { "store": "t", "type": "READS_FROM", - "line": 236 + "line": 229 }, { "store": "t", "type": "READS_FROM", - "line": 245 + "line": 238 }, { "store": "t", "type": "READS_FROM", - "line": 249 + "line": 242 }, { "store": "t", "type": "READS_FROM", - "line": 303 + "line": 296 }, { "store": "t", "type": "READS_FROM", - "line": 315 + "line": 308 }, { "store": "t", "type": "READS_FROM", - "line": 333 + "line": 326 }, { "store": "t", "type": "READS_FROM", - "line": 341 + "line": 334 } ] }, @@ -27824,13 +28259,13 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 81, + "end_line": 84, "tags": { "TIER": "STANDARD", "SEMANTICS": "navbar, navigation, header, layout", "PURPOSE": "Main navigation bar for the application.", "LAYER": "UI", - "RELATION": "USES -> $app/stores" + "RELATION": "USES -> $app/state" }, "relations": [], "children": [], @@ -27861,11 +28296,6 @@ "type": "READS_FROM", "line": 10 }, - { - "store": "lib", - "type": "READS_FROM", - "line": 11 - }, { "store": "lib", "type": "READS_FROM", @@ -27877,104 +28307,69 @@ "line": 13 }, { - "store": "app", + "store": "lib", "type": "READS_FROM", "line": 14 }, { - "store": "page", - "type": "WRITES_TO", - "line": 32 + "store": "app", + "type": "READS_FROM", + "line": 15 }, { "store": "t", "type": "READS_FROM", - "line": 34 - }, - { - "store": "page", - "type": "WRITES_TO", - "line": 38 + "line": 37 }, { "store": "t", "type": "READS_FROM", - "line": 40 - }, - { - "store": "page", - "type": "WRITES_TO", "line": 43 }, { "store": "t", "type": "READS_FROM", - "line": 44 - }, - { - "store": "t", - "type": "WRITES_TO", "line": 47 }, { "store": "t", "type": "WRITES_TO", - "line": 48 + "line": 50 }, { "store": "t", "type": "WRITES_TO", - "line": 49 - }, - { - "store": "auth", - "type": "READS_FROM", - "line": 53 - }, - { - "store": "auth", - "type": "READS_FROM", - "line": 53 - }, - { - "store": "page", - "type": "WRITES_TO", - "line": 55 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 56 + "line": 51 }, { "store": "t", "type": "WRITES_TO", + "line": 52 + }, + { + "store": "t", + "type": "READS_FROM", "line": 59 }, - { - "store": "t", - "type": "WRITES_TO", - "line": 60 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 61 - }, { "store": "t", "type": "WRITES_TO", "line": 62 }, { - "store": "auth", - "type": "READS_FROM", - "line": 68 + "store": "t", + "type": "WRITES_TO", + "line": 63 }, { - "store": "auth", + "store": "t", "type": "WRITES_TO", - "line": 70 + "line": 64 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 65 } ] }, @@ -27983,7 +28378,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 81, + "end_line": 84, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/Navbar.svelte", "TIER": "TRIVIAL", @@ -27995,8 +28390,8 @@ "name": "handleLogout", "type": "Function", "tier": "TRIVIAL", - "start_line": 16, - "end_line": 16, + "start_line": 19, + "end_line": 19, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -29141,7 +29536,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 114, + "end_line": 111, "tags": { "SEMANTICS": "tasks, list, status, history", "PURPOSE": "Displays a list of tasks with their status and execution details.", @@ -29154,8 +29549,8 @@ "name": "getStatusColor", "type": "Function", "tier": "STANDARD", - "start_line": 23, - "end_line": 38, + "start_line": 20, + "end_line": 35, "tags": { "PURPOSE": "Returns the CSS color class for a given task status.", "PRE": "status string is provided.", @@ -29169,32 +29564,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 23 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 23 + "line_number": 20 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 23 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 23 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 23 + "line_number": 20 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 23 + "line_number": 20 } ], "score": 0.0 @@ -29204,8 +29599,8 @@ "name": "formatTime", "type": "Function", "tier": "STANDARD", - "start_line": 40, - "end_line": 52, + "start_line": 37, + "end_line": 49, "tags": { "PURPOSE": "Formats a date string using date-fns.", "PRE": "dateStr is a valid date string or null.", @@ -29219,32 +29614,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 37 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 37 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 37 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 37 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 37 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 40 + "line_number": 37 } ], "score": 0.0 @@ -29254,12 +29649,12 @@ "name": "handleTaskClick", "type": "Function", "tier": "STANDARD", - "start_line": 54, - "end_line": 61, + "start_line": 51, + "end_line": 58, "tags": { - "PURPOSE": "Dispatches a select event when a task is clicked.", + "PURPOSE": "Forwards the selected task through a callback prop.", "PRE": "taskId is provided.", - "POST": "'select' event is dispatched with task ID." + "POST": "Parent callback receives task id and task payload." }, "relations": [], "children": [], @@ -29269,32 +29664,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 51 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 51 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 51 } ], "score": 0.0 @@ -29322,9 +29717,6 @@ ], "score": 0.4214285714285715 }, - "events": [ - "select" - ], "data_flow": [ { "store": "props", @@ -29334,17 +29726,17 @@ { "store": "t", "type": "WRITES_TO", - "line": 66 + "line": 63 }, { "store": "t", "type": "WRITES_TO", - "line": 68 + "line": 65 }, { "store": "t", "type": "READS_FROM", - "line": 102 + "line": 99 } ] }, @@ -29353,12 +29745,12 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 95, + "end_line": 90, "tags": { "SEMANTICS": "form, schema, dynamic, json-schema", "PURPOSE": "Generates a form dynamically based on a JSON schema.", "LAYER": "UI", - "RELATION": "DEPENDS_ON -> svelte:createEventDispatcher", + "RELATION": "BINDS_TO -> onsubmit callback", "PROPS": "", "EVENTS": "" }, @@ -29368,12 +29760,12 @@ "name": "handleSubmit", "type": "Function", "tier": "STANDARD", - "start_line": 26, - "end_line": 36, + "start_line": 21, + "end_line": 31, "tags": { - "PURPOSE": "Dispatches the submit event with the form data.", + "PURPOSE": "Emits submitted form data via callback prop.", "PRE": "formData contains user input.", - "POST": "'submit' event is dispatched with formData." + "POST": "Parent callback receives formData snapshot." }, "relations": [], "children": [], @@ -29383,32 +29775,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 26 + "line_number": 21 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 26 + "line_number": 21 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 26 + "line_number": 21 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 26 + "line_number": 21 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 26 + "line_number": 21 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 26 + "line_number": 21 } ], "score": 0.0 @@ -29418,8 +29810,8 @@ "name": "initializeForm", "type": "Function", "tier": "STANDARD", - "start_line": 38, - "end_line": 51, + "start_line": 33, + "end_line": 46, "tags": { "PURPOSE": "Initialize form data with default values from the schema.", "PRE": "schema is provided and contains properties.", @@ -29433,32 +29825,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 33 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 33 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 33 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 33 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 33 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 33 } ], "score": 0.0 @@ -29486,14 +29878,11 @@ ], "score": 0.4214285714285715 }, - "events": [ - "submit" - ], "data_flow": [ { "store": "props", "type": "WRITES_TO", - "line": 20 + "line": 17 } ] }, @@ -29502,7 +29891,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 61, + "end_line": 59, "tags": { "SEMANTICS": "environment, selector, dropdown, migration", "PURPOSE": "Provides a UI component for selecting source and target environments.", @@ -29516,12 +29905,12 @@ "name": "handleSelect", "type": "Function", "tier": "STANDARD", - "start_line": 28, - "end_line": 40, + "start_line": 26, + "end_line": 38, "tags": { - "PURPOSE": "Dispatches the selection change event.", + "PURPOSE": "Propagates the selection change through a callback prop.", "PRE": "event.target must be an HTMLSelectElement.", - "POST": "selectedId is updated and 'change' event is dispatched.", + "POST": "selectedId is updated and parent callback receives the selected environment id.", "PARAM": "{Event} event - The change event from the select element." }, "relations": [], @@ -29532,32 +29921,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 } ], "score": 0.0 @@ -29585,9 +29974,6 @@ ], "score": 0.4214285714285715 }, - "events": [ - "change" - ], "data_flow": [ { "store": "props", @@ -29597,16 +29983,417 @@ { "store": "t", "type": "WRITES_TO", - "line": 52 + "line": 50 } ] }, + { + "name": "StartupEnvironmentWizard", + "type": "Component", + "tier": "STANDARD", + "start_line": 1, + "end_line": 210, + "tags": { + "TIER": "STANDARD", + "PURPOSE": "Blocking startup wizard for creating the first Superset environment from zero-state screens.", + "LAYER": "UI", + "RELATION": "CALLS -> environmentContext.refreshEnvironmentContext", + "INVARIANT": "When open, wizard keeps user on an actionable setup path until the first environment exists.", + "UX_STATE": "Error -> Shows validation or backend error inline.", + "UX_FEEDBACK": "Toast on success, inline banner on failure.", + "UX_RECOVERY": "User can switch to advanced settings or retry save with corrected data." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 1 + }, + { + "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 1 + } + ], + "score": 0.6142857142857142 + }, + "data_flow": [ + { + "store": "app", + "type": "READS_FROM", + "line": 18 + }, + { + "store": "lib", + "type": "READS_FROM", + "line": 19 + }, + { + "store": "lib", + "type": "READS_FROM", + "line": 20 + }, + { + "store": "lib", + "type": "READS_FROM", + "line": 21 + }, + { + "store": "lib", + "type": "READS_FROM", + "line": 22 + }, + { + "store": "props", + "type": "WRITES_TO", + "line": 24 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 25 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 26 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 27 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 28 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 29 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 84 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 93 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 97 + }, + { + "store": "effect", + "type": "READS_FROM", + "line": 103 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 114 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 115 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 116 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 119 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 128 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 129 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 132 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 134 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 135 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 136 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 142 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 144 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 145 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 146 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 149 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 157 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 161 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 165 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 169 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 173 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 184 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 194 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 198 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 201 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 201 + } + ] + }, + { + "name": "StartupEnvironmentWizard", + "type": "Module", + "tier": "TRIVIAL", + "start_line": 1, + "end_line": 210, + "tags": { + "PURPOSE": "Auto-generated module for frontend/src/components/StartupEnvironmentWizard.svelte", + "TIER": "TRIVIAL", + "LAYER": "Unknown" + }, + "relations": [], + "children": [ + { + "name": "createInitialForm", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 31, + "end_line": 31, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "slugifyEnvironmentId", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 38, + "end_line": 38, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "normalizeSupersetBaseUrl", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 42, + "end_line": 42, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "resetWizard", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 49, + "end_line": 49, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "handleNameInput", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 57, + "end_line": 57, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "handleIdInput", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 63, + "end_line": 63, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "openAdvancedSettings", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 69, + "end_line": 69, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "handleCreateEnvironment", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 73, + "end_line": 73, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + } + ], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "ProtectedRoute.svelte", "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 147, + "end_line": 144, "tags": { "TIER": "CRITICAL", "SEMANTICS": "auth, route-guard, permission, redirect, session-validation", @@ -29631,7 +30418,7 @@ "type": "Component", "tier": "CRITICAL", "start_line": 31, - "end_line": 146, + "end_line": 143, "tags": { "PURPOSE": "Wraps protected slot content with session and permission verification guards.", "PRE": "auth store and navigation API are available in runtime; component is mounted in a browser context.", @@ -29645,8 +30432,8 @@ "name": "verifySessionAndAccess", "type": "Function", "tier": "CRITICAL", - "start_line": 64, - "end_line": 131, + "start_line": 61, + "end_line": 128, "tags": { "PURPOSE": "Validates session and optional permission gate before allowing protected content render.", "PRE": "auth store is initialized and can provide token/user state; navigation is available.", @@ -29662,77 +30449,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 64 + "line_number": 61 } ], "score": 0.0 @@ -29858,7 +30645,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 149, + "end_line": 151, "tags": { "TIER": "STANDARD", "SEMANTICS": "task, log, panel, filter, list", @@ -29881,49 +30668,46 @@ ], "score": 0.8071428571428572 }, - "events": [ - "filterChange" - ], "data_flow": [ { "store": "bindable", "type": "WRITES_TO", - "line": 19 + "line": 21 }, { "store": "props", "type": "WRITES_TO", - "line": 19 - }, - { - "store": "state", - "type": "WRITES_TO", "line": 23 }, - { - "store": "state", - "type": "WRITES_TO", - "line": 24 - }, { "store": "state", "type": "WRITES_TO", "line": 25 }, { - "store": "derived", + "store": "state", + "type": "WRITES_TO", + "line": 26 + }, + { + "store": "state", "type": "WRITES_TO", "line": 27 }, { "store": "derived", "type": "WRITES_TO", - "line": 51 + "line": 29 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 53 }, { "store": "effect", "type": "READS_FROM", - "line": 75 + "line": 77 } ] }, @@ -29932,7 +30716,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 149, + "end_line": 151, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/tasks/TaskLogPanel.svelte", "TIER": "TRIVIAL", @@ -29944,8 +30728,8 @@ "name": "filterLogs", "type": "Function", "tier": "TRIVIAL", - "start_line": 31, - "end_line": 31, + "start_line": 33, + "end_line": 33, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -29962,8 +30746,8 @@ "name": "handleFilterChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 55, - "end_line": 55, + "start_line": 57, + "end_line": 57, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -29980,8 +30764,8 @@ "name": "scrollToBottom", "type": "Function", "tier": "TRIVIAL", - "start_line": 63, - "end_line": 63, + "start_line": 65, + "end_line": 65, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -29998,8 +30782,8 @@ "name": "toggleAutoScroll", "type": "Function", "tier": "TRIVIAL", - "start_line": 69, - "end_line": 69, + "start_line": 71, + "end_line": 71, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -30024,7 +30808,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 143, + "end_line": 140, "tags": { "TIER": "STANDARD", "SEMANTICS": "log, filter, ui", @@ -30051,30 +30835,30 @@ "score": 0.6142857142857142 }, "data_flow": [ + { + "store": "bindable", + "type": "WRITES_TO", + "line": 13 + }, + { + "store": "bindable", + "type": "WRITES_TO", + "line": 14 + }, { "store": "bindable", "type": "WRITES_TO", "line": 15 }, - { - "store": "bindable", - "type": "WRITES_TO", - "line": 16 - }, - { - "store": "bindable", - "type": "WRITES_TO", - "line": 17 - }, { "store": "props", "type": "WRITES_TO", - "line": 18 + "line": 17 }, { "store": "derived", "type": "WRITES_TO", - "line": 64 + "line": 61 } ] }, @@ -30083,7 +30867,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 143, + "end_line": 140, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/tasks/LogFilterBar.svelte", "TIER": "TRIVIAL", @@ -30095,8 +30879,8 @@ "name": "handleLevelChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 30, - "end_line": 30, + "start_line": 27, + "end_line": 27, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -30113,8 +30897,8 @@ "name": "handleSourceChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 39, - "end_line": 39, + "start_line": 36, + "end_line": 36, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -30131,8 +30915,8 @@ "name": "handleSearchChange", "type": "Function", "tier": "TRIVIAL", - "start_line": 48, - "end_line": 48, + "start_line": 45, + "end_line": 45, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -30149,8 +30933,8 @@ "name": "clearFilters", "type": "Function", "tier": "TRIVIAL", - "start_line": 57, - "end_line": 57, + "start_line": 54, + "end_line": 54, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -30384,7 +31168,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 160, + "end_line": 159, "tags": { "TIER": "STANDARD", "SEMANTICS": "storage, files, list, table", @@ -30392,7 +31176,7 @@ "LAYER": "UI", "RELATION": "DEPENDS_ON -> storageService", "PROPS": "files (Array) - List of StoredFile objects.", - "EVENTS": "delete (filename) - Dispatched when a file is deleted." + "EVENTS": "ondelete/onnavigate callback props - Raised when a file is deleted or navigation is requested." }, "relations": [], "children": [ @@ -30400,8 +31184,8 @@ "name": "isDirectory", "type": "Function", "tier": "STANDARD", - "start_line": 27, - "end_line": 39, + "start_line": 26, + "end_line": 38, "tags": { "PURPOSE": "Checks if a file object represents a directory.", "PRE": "file object has mime_type property.", @@ -30417,32 +31201,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 26 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 26 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 27 + "line_number": 26 } ], "score": 0.0 @@ -30452,8 +31236,8 @@ "name": "formatSize", "type": "Function", "tier": "STANDARD", - "start_line": 41, - "end_line": 57, + "start_line": 40, + "end_line": 56, "tags": { "PURPOSE": "Formats file size in bytes into a human-readable string.", "PRE": "bytes is a number.", @@ -30469,32 +31253,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 40 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 40 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 40 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 40 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 40 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 40 } ], "score": 0.0 @@ -30504,8 +31288,8 @@ "name": "formatDate", "type": "Function", "tier": "STANDARD", - "start_line": 59, - "end_line": 71, + "start_line": 58, + "end_line": 70, "tags": { "PURPOSE": "Formats an ISO date string into a localized readable format.", "PRE": "dateStr is a valid date string.", @@ -30521,32 +31305,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 58 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 58 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 58 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 58 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 58 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 59 + "line_number": 58 } ], "score": 0.0 @@ -30556,8 +31340,8 @@ "name": "handleDownload", "type": "Function", "tier": "STANDARD", - "start_line": 73, - "end_line": 86, + "start_line": 72, + "end_line": 85, "tags": { "PURPOSE": "Downloads selected file through authenticated API request.", "PRE": "file is a non-directory storage entry with category/path.", @@ -30571,32 +31355,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 73 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 73 + "line_number": 72 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 73 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 73 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 73 + "line_number": 72 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 73 + "line_number": 72 } ], "score": 0.0 @@ -30619,15 +31403,16 @@ ], "score": 0.6142857142857142 }, - "events": [ - "delete", - "navigate" - ], "data_flow": [ { "store": "props", "type": "WRITES_TO", - "line": 23 + "line": 24 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 93 }, { "store": "t", @@ -30651,23 +31436,18 @@ }, { "store": "t", - "type": "WRITES_TO", - "line": 98 + "type": "READS_FROM", + "line": 135 }, { "store": "t", "type": "READS_FROM", - "line": 136 + "line": 142 }, { "store": "t", "type": "READS_FROM", - "line": 143 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 150 + "line": 149 } ] }, @@ -30676,7 +31456,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 135, + "end_line": 137, "tags": { "TIER": "STANDARD", "SEMANTICS": "storage, upload, files", @@ -30684,7 +31464,7 @@ "LAYER": "UI", "RELATION": "DEPENDS_ON -> storageService", "PROPS": "None", - "EVENTS": "uploaded - Dispatched when a file is successfully uploaded." + "EVENTS": "onuploaded callback prop - Invoked when a file is successfully uploaded." }, "relations": [], "children": [ @@ -30692,8 +31472,8 @@ "name": "handleUpload", "type": "Function", "tier": "STANDARD", - "start_line": 21, - "end_line": 59, + "start_line": 20, + "end_line": 58, "tags": { "PURPOSE": "Handles the file upload process.", "PRE": "A file must be selected in the file input.", @@ -30707,32 +31487,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 21 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 21 + "line_number": 20 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 21 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 21 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 21 + "line_number": 20 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 21 + "line_number": 20 } ], "score": 0.0 @@ -30742,8 +31522,8 @@ "name": "handleDrop", "type": "Function", "tier": "STANDARD", - "start_line": 61, - "end_line": 75, + "start_line": 60, + "end_line": 74, "tags": { "PURPOSE": "Handles the file drop event for drag-and-drop.", "PARAM": "{DragEvent} event - The drop event." @@ -30756,52 +31536,52 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 61 + "line_number": 60 } ], "score": 0.0 @@ -30824,14 +31604,16 @@ ], "score": 0.6142857142857142 }, - "events": [ - "uploaded" - ], "data_flow": [ { "store": "props", "type": "WRITES_TO", - "line": 32 + "line": 31 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 33 }, { "store": "state", @@ -30839,29 +31621,24 @@ "line": 34 }, { - "store": "state", - "type": "WRITES_TO", - "line": 35 + "store": "t", + "type": "READS_FROM", + "line": 49 }, { "store": "t", "type": "READS_FROM", - "line": 50 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 54 + "line": 53 }, { "store": "t", "type": "WRITES_TO", - "line": 80 + "line": 79 }, { "store": "t", "type": "WRITES_TO", - "line": 84 + "line": 83 }, { "store": "t", @@ -30875,13 +31652,13 @@ }, { "store": "t", - "type": "READS_FROM", - "line": 107 + "type": "WRITES_TO", + "line": 98 }, { "store": "t", - "type": "WRITES_TO", - "line": 118 + "type": "READS_FROM", + "line": 109 }, { "store": "t", @@ -30891,7 +31668,12 @@ { "store": "t", "type": "WRITES_TO", - "line": 127 + "line": 122 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 129 } ] }, @@ -30900,7 +31682,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 95, + "end_line": 93, "tags": { "SEMANTICS": "connection, form, settings", "PURPOSE": "UI component for creating a new database connection configuration.", @@ -30913,12 +31695,12 @@ "name": "handleSubmit", "type": "Function", "tier": "STANDARD", - "start_line": 28, - "end_line": 52, + "start_line": 26, + "end_line": 50, "tags": { "PURPOSE": "Submits the connection form to the backend.", "PRE": "All required fields (name, host, database, username, password) must be filled.", - "POST": "A new connection is created via the connection service and a success event is dispatched." + "POST": "A new connection is created via the connection service and the parent success callback is invoked." }, "relations": [], "children": [], @@ -30928,32 +31710,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 28 + "line_number": 26 } ], "score": 0.0 @@ -30963,8 +31745,8 @@ "name": "resetForm", "type": "Function", "tier": "STANDARD", - "start_line": 54, - "end_line": 67, + "start_line": 52, + "end_line": 65, "tags": { "PURPOSE": "Resets the connection form fields to their default values.", "PRE": "None.", @@ -30978,32 +31760,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 52 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 52 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 52 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 52 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 52 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 54 + "line_number": 52 } ], "score": 0.0 @@ -31031,19 +31813,66 @@ ], "score": 0.4214285714285715 }, - "events": [ - "success" - ], "data_flow": [ { - "store": "t", - "type": "READS_FROM", - "line": 34 + "store": "props", + "type": "WRITES_TO", + "line": 15 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 17 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 18 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 19 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 20 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 21 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 22 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 23 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 24 }, { "store": "t", "type": "READS_FROM", - "line": 43 + "line": 32 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 41 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 69 }, { "store": "t", @@ -31053,47 +31882,42 @@ { "store": "t", "type": "WRITES_TO", - "line": 73 + "line": 71 }, { "store": "t", "type": "WRITES_TO", - "line": 73 + "line": 74 }, { "store": "t", "type": "WRITES_TO", - "line": 76 + "line": 74 }, { "store": "t", "type": "WRITES_TO", - "line": 76 + "line": 75 }, { "store": "t", "type": "WRITES_TO", - "line": 77 + "line": 78 }, { "store": "t", "type": "WRITES_TO", - "line": 80 + "line": 81 }, { "store": "t", "type": "WRITES_TO", - "line": 83 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 84 + "line": 82 }, { "store": "t", "type": "READS_FROM", - "line": 89 + "line": 87 } ] }, @@ -31102,7 +31926,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 88, + "end_line": 86, "tags": { "SEMANTICS": "connection, list, settings", "PURPOSE": "UI component for listing and deleting saved database connection configurations.", @@ -31115,8 +31939,8 @@ "name": "fetchConnections", "type": "Function", "tier": "STANDARD", - "start_line": 22, - "end_line": 36, + "start_line": 20, + "end_line": 34, "tags": { "PURPOSE": "Fetches the list of connections from the backend.", "PRE": "None.", @@ -31130,32 +31954,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 22 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 22 + "line_number": 20 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 22 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 22 + "line_number": 20 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 22 + "line_number": 20 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 22 + "line_number": 20 } ], "score": 0.0 @@ -31165,8 +31989,8 @@ "name": "handleDelete", "type": "Function", "tier": "STANDARD", - "start_line": 38, - "end_line": 53, + "start_line": 36, + "end_line": 51, "tags": { "PURPOSE": "Deletes a connection configuration.", "PRE": "id is provided and user confirms deletion.", @@ -31180,32 +32004,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 36 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 36 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 36 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 36 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 36 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 38 + "line_number": 36 } ], "score": 0.0 @@ -31235,39 +32059,49 @@ }, "data_flow": [ { - "store": "t", - "type": "READS_FROM", - "line": 31 + "store": "state", + "type": "WRITES_TO", + "line": 17 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 18 }, { "store": "t", "type": "READS_FROM", - "line": 43 + "line": 29 }, { "store": "t", "type": "READS_FROM", - "line": 47 + "line": 41 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 45 }, { "store": "t", "type": "WRITES_TO", - "line": 62 + "line": 60 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 63 }, { "store": "t", "type": "WRITES_TO", "line": 65 }, - { - "store": "t", - "type": "WRITES_TO", - "line": 67 - }, { "store": "t", "type": "READS_FROM", - "line": 80 + "line": 78 } ] }, @@ -32100,7 +32934,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 240, + "end_line": 238, "tags": { "SEMANTICS": "deployment, git, environment, modal", "PURPOSE": "Modal for deploying a dashboard to a target environment.", @@ -32114,8 +32948,8 @@ "name": "loadStatus", "type": "Watcher", "tier": "STANDARD", - "start_line": 49, - "end_line": 53, + "start_line": 47, + "end_line": 51, "tags": {}, "relations": [], "children": [], @@ -32129,8 +32963,8 @@ "name": "normalizeEnvStage", "type": "Function", "tier": "STANDARD", - "start_line": 55, - "end_line": 66, + "start_line": 53, + "end_line": 64, "tags": { "PURPOSE": "Normalize environment stage with legacy production fallback.", "POST": "Returns DEV/PREPROD/PROD." @@ -32143,42 +32977,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 55 + "line_number": 53 } ], "score": 0.0 @@ -32188,8 +33022,8 @@ "name": "resolveEnvUrl", "type": "Function", "tier": "STANDARD", - "start_line": 68, - "end_line": 76, + "start_line": 66, + "end_line": 74, "tags": { "PURPOSE": "Resolve environment URL from consolidated or git-specific payload shape.", "POST": "Returns stable URL string." @@ -32202,42 +33036,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 68 + "line_number": 66 } ], "score": 0.0 @@ -32247,8 +33081,8 @@ "name": "loadEnvironments", "type": "Function", "tier": "STANDARD", - "start_line": 78, - "end_line": 106, + "start_line": 76, + "end_line": 104, "tags": { "PURPOSE": "Fetch available environments from API.", "POST": "environments state is populated.", @@ -32262,32 +33096,32 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 78 + "line_number": 76 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 78 + "line_number": 76 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 78 + "line_number": 76 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 78 + "line_number": 76 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 78 + "line_number": 76 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 78 + "line_number": 76 } ], "score": 0.0 @@ -32297,12 +33131,12 @@ "name": "handleDeploy", "type": "Function", "tier": "STANDARD", - "start_line": 108, - "end_line": 143, + "start_line": 106, + "end_line": 140, "tags": { "PURPOSE": "Trigger deployment to selected environment.", "PRE": "selectedEnv must be set.", - "POST": "deploy event dispatched on success.", + "POST": "Deploy request finishes and modal closes on success.", "SIDE_EFFECT": "Triggers API call, closes modal, shows toast." }, "relations": [], @@ -32313,22 +33147,22 @@ { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 108 + "line_number": 106 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 108 + "line_number": 106 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 108 + "line_number": 106 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 108 + "line_number": 106 } ], "score": 0.34 @@ -32356,15 +33190,468 @@ ], "score": 0.4214285714285715 }, - "events": [ - "deploy" - ], "data_flow": [ { "store": "bindable", "type": "WRITES_TO", - "line": 22 + "line": 21 }, + { + "store": "props", + "type": "WRITES_TO", + "line": 21 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 26 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 27 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 28 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 29 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 32 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 33 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 39 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 42 + }, + { + "store": "derived", + "type": "WRITES_TO", + "line": 45 + }, + { + "store": "effect", + "type": "READS_FROM", + "line": 48 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 99 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 128 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 149 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 152 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 155 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 162 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 173 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 198 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 226 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 228 + } + ] + }, + { + "name": "ConflictResolver", + "type": "Component", + "tier": "STANDARD", + "start_line": 1, + "end_line": 179, + "tags": { + "SEMANTICS": "git, conflict, resolution, merge", + "PURPOSE": "UI for resolving merge conflicts (Keep Mine / Keep Theirs).", + "LAYER": "Component", + "RELATION": "BINDS_TO -> onresolve", + "INVARIANT": "User must resolve all conflicts before saving.", + "TYPE": "{Object.} */" + }, + "relations": [], + "children": [ + { + "name": "resolve", + "type": "Function", + "tier": "STANDARD", + "start_line": 30, + "end_line": 46, + "tags": { + "PURPOSE": "Set resolution strategy for a file.", + "PRE": "file path must exist in conflicts array.", + "POST": "resolutions state is updated for the given file.", + "PARAM": "{'mine'|'theirs'} strategy - Resolution strategy.", + "SIDE_EFFECT": "Updates resolutions state." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 30 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 30 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 30 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 30 + } + ], + "score": 0.34 + } + }, + { + "name": "handleSave", + "type": "Function", + "tier": "STANDARD", + "start_line": 48, + "end_line": 74, + "tags": { + "PURPOSE": "Validate and submit resolutions.", + "PRE": "All conflicts must have a resolution.", + "POST": "Parent callback receives resolutions if valid.", + "SIDE_EFFECT": "Dispatches event and closes modal." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 48 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 48 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 48 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 48 + } + ], + "score": 0.34 + } + } + ], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 1 + }, + { + "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 1 + }, + { + "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 1 + } + ], + "score": 0.4214285714285715 + }, + "data_flow": [ + { + "store": "bindable", + "type": "WRITES_TO", + "line": 19 + }, + { + "store": "props", + "type": "WRITES_TO", + "line": 21 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 27 + } + ] + }, + { + "name": "CommitModal", + "type": "Component", + "tier": "STANDARD", + "start_line": 1, + "end_line": 267, + "tags": { + "TIER": "STANDARD", + "SEMANTICS": "git, commit, modal, version_control, diff", + "PURPOSE": "\u041c\u043e\u0434\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0441 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 (diff).", + "LAYER": "Component", + "RELATION": "DISPATCHES -> commit" + }, + "relations": [], + "children": [ + { + "name": "handleGenerateMessage", + "type": "Function", + "tier": "STANDARD", + "start_line": 35, + "end_line": 58, + "tags": { + "PURPOSE": "Generates a commit message using LLM." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 35 + } + ], + "score": 0.0 + } + }, + { + "name": "loadStatus", + "type": "Function", + "tier": "STANDARD", + "start_line": 60, + "end_line": 101, + "tags": { + "PURPOSE": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438 diff.", + "PRE": "dashboardId \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 60 + } + ], + "score": 0.0 + } + }, + { + "name": "handleCommit", + "type": "Function", + "tier": "STANDARD", + "start_line": 103, + "end_line": 128, + "tags": { + "PURPOSE": "\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043a\u043e\u043c\u043c\u0438\u0442 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c.", + "PRE": "message \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c.", + "POST": "\u041a\u043e\u043c\u043c\u0438\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u0438 \u043c\u043e\u0434\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 103 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 103 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 103 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 103 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 103 + }, + { + "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 103 + } + ], + "score": 0.0 + } + } + ], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 1 + }, + { + "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 1 + } + ], + "score": 0.6142857142857142 + }, + "data_flow": [ { "store": "props", "type": "WRITES_TO", @@ -32390,463 +33677,6 @@ "type": "WRITES_TO", "line": 30 }, - { - "store": "derived", - "type": "WRITES_TO", - "line": 34 - }, - { - "store": "derived", - "type": "WRITES_TO", - "line": 35 - }, - { - "store": "derived", - "type": "WRITES_TO", - "line": 41 - }, - { - "store": "derived", - "type": "WRITES_TO", - "line": 44 - }, - { - "store": "derived", - "type": "WRITES_TO", - "line": 47 - }, - { - "store": "effect", - "type": "READS_FROM", - "line": 50 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 101 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 130 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 152 - }, - { - "store": "t", - "type": "WRITES_TO", - "line": 155 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 158 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 165 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 176 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 200 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 228 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 230 - } - ] - }, - { - "name": "ConflictResolver", - "type": "Component", - "tier": "STANDARD", - "start_line": 1, - "end_line": 180, - "tags": { - "SEMANTICS": "git, conflict, resolution, merge", - "PURPOSE": "UI for resolving merge conflicts (Keep Mine / Keep Theirs).", - "LAYER": "Component", - "RELATION": "DISPATCHES -> resolve", - "INVARIANT": "User must resolve all conflicts before saving.", - "TYPE": "{Object.} */" - }, - "relations": [], - "children": [ - { - "name": "resolve", - "type": "Function", - "tier": "STANDARD", - "start_line": 31, - "end_line": 47, - "tags": { - "PURPOSE": "Set resolution strategy for a file.", - "PRE": "file path must exist in conflicts array.", - "POST": "resolutions state is updated for the given file.", - "PARAM": "{'mine'|'theirs'} strategy - Resolution strategy.", - "SIDE_EFFECT": "Updates resolutions state." - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 31 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 31 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 31 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 31 - } - ], - "score": 0.34 - } - }, - { - "name": "handleSave", - "type": "Function", - "tier": "STANDARD", - "start_line": 49, - "end_line": 75, - "tags": { - "PURPOSE": "Validate and submit resolutions.", - "PRE": "All conflicts must have a resolution.", - "POST": "'resolve' event dispatched if valid.", - "SIDE_EFFECT": "Dispatches event and closes modal." - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 49 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 49 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 49 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 49 - } - ], - "score": 0.34 - } - } - ], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 1 - }, - { - "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 1 - }, - { - "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 1 - } - ], - "score": 0.4214285714285715 - }, - "events": [ - "resolve" - ], - "data_flow": [ - { - "store": "bindable", - "type": "WRITES_TO", - "line": 20 - }, - { - "store": "props", - "type": "WRITES_TO", - "line": 21 - }, - { - "store": "state", - "type": "WRITES_TO", - "line": 28 - } - ] - }, - { - "name": "CommitModal", - "type": "Component", - "tier": "STANDARD", - "start_line": 1, - "end_line": 271, - "tags": { - "TIER": "STANDARD", - "SEMANTICS": "git, commit, modal, version_control, diff", - "PURPOSE": "\u041c\u043e\u0434\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0441 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 (diff).", - "LAYER": "Component", - "RELATION": "DISPATCHES -> commit" - }, - "relations": [], - "children": [ - { - "name": "handleGenerateMessage", - "type": "Function", - "tier": "STANDARD", - "start_line": 38, - "end_line": 61, - "tags": { - "PURPOSE": "Generates a commit message using LLM." - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 38 - } - ], - "score": 0.0 - } - }, - { - "name": "loadStatus", - "type": "Function", - "tier": "STANDARD", - "start_line": 63, - "end_line": 104, - "tags": { - "PURPOSE": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438 diff.", - "PRE": "dashboardId \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c." - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - }, - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - }, - { - "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - }, - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 63 - } - ], - "score": 0.0 - } - }, - { - "name": "handleCommit", - "type": "Function", - "tier": "STANDARD", - "start_line": 106, - "end_line": 132, - "tags": { - "PURPOSE": "\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043a\u043e\u043c\u043c\u0438\u0442 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c.", - "PRE": "message \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c.", - "POST": "\u041a\u043e\u043c\u043c\u0438\u0442 \u0441\u043e\u0437\u0434\u0430\u043d, \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e, \u043c\u043e\u0434\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u043e." - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 106 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 106 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 106 - }, - { - "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 106 - }, - { - "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 106 - }, - { - "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 106 - } - ], - "score": 0.0 - } - } - ], - "compliance": { - "valid": true, - "issues": [ - { - "message": "Missing Mandatory Tag: @UX_STATE (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 1 - }, - { - "message": "Missing Mandatory Tag: @UX_REACTIVITY (required for STANDARD tier)", - "severity": "WARNING", - "line_number": 1 - } - ], - "score": 0.6142857142857142 - }, - "events": [ - "commit" - ], - "data_flow": [ - { - "store": "props", - "type": "WRITES_TO", - "line": 23 - }, - { - "store": "state", - "type": "WRITES_TO", - "line": 28 - }, - { - "store": "state", - "type": "WRITES_TO", - "line": 29 - }, - { - "store": "state", - "type": "WRITES_TO", - "line": 30 - }, { "store": "state", "type": "WRITES_TO", @@ -32858,9 +33688,9 @@ "line": 32 }, { - "store": "state", - "type": "WRITES_TO", - "line": 33 + "store": "t", + "type": "READS_FROM", + "line": 50 }, { "store": "t", @@ -32870,97 +33700,92 @@ { "store": "t", "type": "READS_FROM", - "line": 56 + "line": 96 }, { "store": "t", "type": "READS_FROM", - "line": 99 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 120 + "line": 117 }, { "store": "effect", "type": "READS_FROM", - "line": 134 + "line": 130 }, { "store": "t", "type": "WRITES_TO", - "line": 147 + "line": 143 }, { "store": "t", "type": "READS_FROM", - "line": 156 + "line": 152 }, { "store": "t", "type": "WRITES_TO", - "line": 164 + "line": 160 }, { "store": "t", "type": "WRITES_TO", - "line": 166 + "line": 162 }, { "store": "t", "type": "WRITES_TO", - "line": 173 + "line": 169 }, { "store": "t", "type": "READS_FROM", - "line": 182 + "line": 178 }, { "store": "t", "type": "WRITES_TO", - "line": 188 + "line": 184 }, { "store": "t", "type": "WRITES_TO", - "line": 197 + "line": 193 }, { "store": "t", "type": "WRITES_TO", - "line": 206 + "line": 202 }, { "store": "t", "type": "READS_FROM", - "line": 224 + "line": 220 }, { "store": "t", "type": "READS_FROM", - "line": 231 + "line": 227 }, { "store": "t", "type": "READS_FROM", - "line": 240 + "line": 236 }, { "store": "t", "type": "READS_FROM", - "line": 252 + "line": 248 }, { "store": "t", "type": "READS_FROM", - "line": 263 + "line": 259 }, { "store": "t", "type": "READS_FROM", - "line": 263 + "line": 259 } ] }, @@ -32969,12 +33794,12 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 182, + "end_line": 180, "tags": { "SEMANTICS": "git, branch, selection, checkout", "PURPOSE": "UI \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0435\u0442\u043e\u043a Git.", "LAYER": "Component", - "RELATION": "DISPATCHES -> change" + "RELATION": "BINDS_TO -> onchange" }, "relations": [], "children": [ @@ -32982,8 +33807,8 @@ "name": "onMount", "type": "Function", "tier": "STANDARD", - "start_line": 39, - "end_line": 48, + "start_line": 37, + "end_line": 46, "tags": { "PURPOSE": "Load branches when component is mounted.", "PRE": "Component is initialized.", @@ -32997,32 +33822,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 37 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 37 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 37 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 37 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 37 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 39 + "line_number": 37 } ], "score": 0.0 @@ -33032,8 +33857,8 @@ "name": "loadBranches", "type": "Function", "tier": "STANDARD", - "start_line": 50, - "end_line": 69, + "start_line": 48, + "end_line": 67, "tags": { "PURPOSE": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0442\u043e\u043a \u0434\u043b\u044f \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430.", "PRE": "dashboardId is provided.", @@ -33047,32 +33872,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 50 + "line_number": 48 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 50 + "line_number": 48 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 50 + "line_number": 48 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 50 + "line_number": 48 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 50 + "line_number": 48 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 50 + "line_number": 48 } ], "score": 0.0 @@ -33082,8 +33907,8 @@ "name": "handleSelect", "type": "Function", "tier": "STANDARD", - "start_line": 71, - "end_line": 80, + "start_line": 69, + "end_line": 78, "tags": { "PURPOSE": "Handles branch selection from dropdown.", "PRE": "event contains branch name.", @@ -33097,32 +33922,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 69 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 69 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 69 } ], "score": 0.0 @@ -33132,12 +33957,12 @@ "name": "handleCheckout", "type": "Function", "tier": "STANDARD", - "start_line": 82, - "end_line": 101, + "start_line": 80, + "end_line": 99, "tags": { "PURPOSE": "\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0432\u0435\u0442\u043a\u0443.", "PARAM": "{string} branchName - \u0418\u043c\u044f \u0432\u0435\u0442\u043a\u0438.", - "POST": "currentBranch \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d, \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e." + "POST": "currentBranch \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d, \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 callback \u0432\u044b\u0437\u0432\u0430\u043d." }, "relations": [], "children": [], @@ -33147,42 +33972,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 80 } ], "score": 0.0 @@ -33192,8 +34017,8 @@ "name": "handleCreate", "type": "Function", "tier": "STANDARD", - "start_line": 103, - "end_line": 124, + "start_line": 101, + "end_line": 122, "tags": { "PURPOSE": "\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443.", "PRE": "newBranchName is not empty.", @@ -33207,32 +34032,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 101 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 101 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 101 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 101 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 101 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", - "line_number": 103 + "line_number": 101 } ], "score": 0.0 @@ -33260,9 +34085,6 @@ ], "score": 0.4214285714285715 }, - "events": [ - "change" - ], "data_flow": [ { "store": "bindable", @@ -33272,12 +34094,7 @@ { "store": "props", "type": "WRITES_TO", - "line": 26 - }, - { - "store": "state", - "type": "WRITES_TO", - "line": 31 + "line": 27 }, { "store": "state", @@ -33295,39 +34112,44 @@ "line": 34 }, { - "store": "t", - "type": "READS_FROM", - "line": 64 + "store": "state", + "type": "WRITES_TO", + "line": 35 }, { "store": "t", "type": "READS_FROM", - "line": 94 + "line": 62 }, { "store": "t", "type": "READS_FROM", - "line": 114 + "line": 92 }, { "store": "t", "type": "READS_FROM", - "line": 146 + "line": 112 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 144 }, { "store": "t", "type": "WRITES_TO", - "line": 155 + "line": 153 }, { "store": "t", "type": "READS_FROM", - "line": 167 + "line": 165 }, { "store": "t", "type": "READS_FROM", - "line": 175 + "line": 173 } ] }, @@ -33336,7 +34158,7 @@ "type": "Component", "tier": "STANDARD", "start_line": 1, - "end_line": 1204, + "end_line": 1212, "tags": { "SEMANTICS": "git, manager, dashboard, version_control, tabs, workflow", "PURPOSE": "\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 UI \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Git \u0441 \u0444\u043e\u043a\u0443\u0441\u043e\u043c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u043e\u0442\u043e\u043a \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 (commit -> promote -> deploy).", @@ -35142,87 +35964,92 @@ { "store": "t", "type": "WRITES_TO", - "line": 808 + "line": 804 }, { "store": "t", "type": "WRITES_TO", - "line": 815 + "line": 810 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 816 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 823 }, { "store": "t", "type": "READS_FROM", - "line": 827 + "line": 835 }, { "store": "t", "type": "WRITES_TO", - "line": 832 + "line": 840 }, { "store": "t", "type": "WRITES_TO", - "line": 837 + "line": 845 }, { "store": "t", "type": "WRITES_TO", - "line": 841 + "line": 849 }, { "store": "t", "type": "WRITES_TO", - "line": 843 + "line": 851 }, { "store": "t", "type": "READS_FROM", - "line": 861 + "line": 869 }, { "store": "t", "type": "READS_FROM", - "line": 955 + "line": 963 }, { "store": "t", "type": "WRITES_TO", - "line": 1090 + "line": 1098 }, { "store": "t", "type": "READS_FROM", - "line": 1094 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 1097 - }, - { - "store": "t", - "type": "WRITES_TO", "line": 1102 }, + { + "store": "t", + "type": "READS_FROM", + "line": 1105 + }, { "store": "t", "type": "WRITES_TO", - "line": 1106 + "line": 1110 + }, + { + "store": "t", + "type": "WRITES_TO", + "line": 1114 }, { "store": "t", "type": "READS_FROM", - "line": 1120 + "line": 1128 }, { "store": "t", "type": "READS_FROM", - "line": 1133 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 1146 + "line": 1141 }, { "store": "t", @@ -35237,17 +36064,22 @@ { "store": "t", "type": "READS_FROM", - "line": 1171 + "line": 1170 }, { "store": "t", "type": "READS_FROM", - "line": 1178 + "line": 1179 }, { "store": "t", "type": "READS_FROM", - "line": 1181 + "line": 1186 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 1189 } ] }, @@ -35256,7 +36088,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 1204, + "end_line": 1212, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/git/GitManager.svelte", "TIER": "TRIVIAL", @@ -35467,7 +36299,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 1204 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 1212 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -35633,13 +36465,12 @@ "type": "Component", "tier": "CRITICAL", "start_line": 1, - "end_line": 371, + "end_line": 417, "tags": { "TIER": "STANDARD", "PURPOSE": "UI form for managing LLM provider configurations.", "LAYER": "UI", - "RELATION": "DEPENDS_ON -> backend/src/api/routes/llm.py", - "TYPE": "{Array} */" + "RELATION": "DEPENDS_ON -> backend/src/api/routes/llm.py" }, "relations": [], "children": [], @@ -35680,57 +36511,85 @@ "message": "Missing @INVARIANT tag (required for CRITICAL tier)", "severity": "ERROR", "line_number": 1 - }, - { - "message": "Svelte protocol violation: `export let` is forbidden; use `$props()`", - "severity": "ERROR", - "line_number": 1 } ], "score": 0.0 }, - "props": [ - { - "name": "providers", - "type": "any", - "default": "[]" - }, - { - "name": "onSave", - "type": "any", - "default": "() => {}" - } - ], "data_flow": [ { - "store": "t", + "store": "props", "type": "WRITES_TO", - "line": 80 + "line": 17 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 19 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 20 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 22 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 31 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 32 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 33 + }, + { + "store": "state", + "type": "WRITES_TO", + "line": 34 }, { "store": "t", "type": "WRITES_TO", - "line": 89 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 93 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 102 + "line": 82 }, { "store": "t", "type": "WRITES_TO", - "line": 161 + "line": 91 }, { "store": "t", "type": "READS_FROM", - "line": 170 + "line": 95 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 104 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 164 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 176 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 180 }, { "store": "t", @@ -35739,83 +36598,103 @@ }, { "store": "t", - "type": "READS_FROM", - "line": 182 + "type": "WRITES_TO", + "line": 195 }, { "store": "t", "type": "READS_FROM", - "line": 190 + "line": 204 }, { "store": "t", "type": "READS_FROM", - "line": 205 + "line": 216 }, { "store": "t", "type": "READS_FROM", - "line": 222 + "line": 216 }, { "store": "t", "type": "READS_FROM", - "line": 236 + "line": 224 }, { "store": "t", "type": "READS_FROM", - "line": 251 + "line": 239 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 256 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 270 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 285 }, { "store": "t", "type": "WRITES_TO", - "line": 271 + "line": 305 }, { "store": "t", "type": "READS_FROM", - "line": 292 + "line": 326 }, { "store": "t", "type": "READS_FROM", - "line": 300 + "line": 334 }, { "store": "t", "type": "READS_FROM", - "line": 300 + "line": 334 }, { "store": "t", "type": "READS_FROM", - "line": 307 + "line": 341 }, { "store": "t", "type": "READS_FROM", - "line": 325 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 331 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 332 - }, - { - "store": "t", - "type": "READS_FROM", - "line": 345 + "line": 359 }, { "store": "t", "type": "READS_FROM", "line": 365 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 366 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 379 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 390 + }, + { + "store": "t", + "type": "READS_FROM", + "line": 411 } ] }, @@ -35824,7 +36703,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 371, + "end_line": 417, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/llm/ProviderConfig.svelte", "TIER": "TRIVIAL", @@ -35836,8 +36715,8 @@ "name": "isMultimodalModel", "type": "Function", "tier": "TRIVIAL", - "start_line": 34, - "end_line": 34, + "start_line": 36, + "end_line": 36, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -35854,8 +36733,8 @@ "name": "resetForm", "type": "Function", "tier": "TRIVIAL", - "start_line": 48, - "end_line": 48, + "start_line": 50, + "end_line": 50, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -35872,8 +36751,8 @@ "name": "handleEdit", "type": "Function", "tier": "TRIVIAL", - "start_line": 61, - "end_line": 61, + "start_line": 63, + "end_line": 63, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -35890,8 +36769,8 @@ "name": "testConnection", "type": "Function", "tier": "TRIVIAL", - "start_line": 77, - "end_line": 77, + "start_line": 79, + "end_line": 79, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -35908,8 +36787,8 @@ "name": "handleSubmit", "type": "Function", "tier": "TRIVIAL", - "start_line": 109, - "end_line": 109, + "start_line": 111, + "end_line": 111, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -35926,8 +36805,26 @@ "name": "toggleActive", "type": "Function", "tier": "TRIVIAL", - "start_line": 133, - "end_line": 133, + "start_line": 135, + "end_line": 135, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "handleDelete", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 160, + "end_line": 160, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -35945,7 +36842,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 371 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 417 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -35996,11 +36893,11 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 44, + "end_line": 51, "tags": { "TIER": "STANDARD", - "SEMANTICS": "llm, provider-config, integration-test, edit-flow", - "PURPOSE": "Protect edit-button interaction contract in LLM provider settings UI.", + "SEMANTICS": "llm, provider-config, integration-test, edit-flow, delete-flow", + "PURPOSE": "Protect edit and delete interaction contracts in LLM provider settings UI.", "LAYER": "UI Tests", "INVARIANT": "Edit action keeps explicit click handler and opens normalized edit form." }, @@ -36016,10 +36913,10 @@ "type": "Function", "tier": "STANDARD", "start_line": 18, - "end_line": 43, + "end_line": 50, "tags": { "TIER": "STANDARD", - "PURPOSE": "Validate edit button handler wiring and normalized edit form state mapping.", + "PURPOSE": "Validate edit and delete handler wiring plus normalized edit form state mapping.", "PRE": "ProviderConfig component source exists in expected path.", "POST": "Contract checks ensure edit click cannot degrade into no-op flow." }, @@ -36075,44 +36972,6 @@ "score": 0.79 } }, - { - "name": "test_auth_debug", - "type": "Module", - "tier": "TRIVIAL", - "start_line": 1, - "end_line": 76, - "tags": { - "PURPOSE": "Auto-generated module for backend/test_auth_debug.py", - "TIER": "TRIVIAL", - "LAYER": "Unknown" - }, - "relations": [], - "children": [ - { - "name": "main", - "type": "Function", - "tier": "TRIVIAL", - "start_line": 9, - "end_line": 9, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - } - ], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, { "name": "backend.delete_running_tasks", "type": "Module", @@ -37207,6 +38066,23 @@ "score": 0.79 } }, + { + "name": "src", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Canonical backend package root for application, scripts, and tests." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "backend.src.scripts.seed_superset_load_test", "type": "Module", @@ -37678,7 +38554,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 590, + "end_line": 600, "tags": { "TIER": "STANDARD", "SEMANTICS": "clean-release, tui, ncurses, interactive-validator", @@ -37701,8 +38577,8 @@ "name": "TuiFacadeAdapter", "type": "Class", "tier": "STANDARD", - "start_line": 45, - "end_line": 141, + "start_line": 46, + "end_line": 142, "tags": { "PURPOSE": "Thin TUI adapter that routes business mutations through application services.", "PRE": "repository contains candidate and trusted policy/registry snapshots for execution.", @@ -37716,12 +38592,12 @@ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 45 + "line_number": 46 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 45 + "line_number": 46 } ], "score": 0.5499999999999999 @@ -37731,8 +38607,8 @@ "name": "CleanReleaseTUI", "type": "Class", "tier": "STANDARD", - "start_line": 144, - "end_line": 563, + "start_line": 145, + "end_line": 573, "tags": { "PURPOSE": "Curses-based application for compliance monitoring.", "UX_STATE": "BLOCKED -> Violations detected, release forbidden.", @@ -37744,8 +38620,8 @@ "name": "run_checks", "type": "Function", "tier": "STANDARD", - "start_line": 426, - "end_line": 465, + "start_line": 436, + "end_line": 475, "tags": { "PURPOSE": "Execute compliance run via facade adapter and update UI state.", "PRE": "Candidate and policy snapshots are present in repository.", @@ -37759,47 +38635,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 426 + "line_number": 436 } ], "score": 0.0 @@ -37812,12 +38688,12 @@ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 144 + "line_number": 145 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 144 + "line_number": 145 } ], "score": 0.5499999999999999 @@ -37827,8 +38703,8 @@ "name": "__init__", "type": "Function", "tier": "TRIVIAL", - "start_line": 50, - "end_line": 50, + "start_line": 51, + "end_line": 51, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37845,8 +38721,8 @@ "name": "_build_config_manager", "type": "Function", "tier": "TRIVIAL", - "start_line": 53, - "end_line": 53, + "start_line": 54, + "end_line": 54, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37863,8 +38739,8 @@ "name": "run_compliance", "type": "Function", "tier": "TRIVIAL", - "start_line": 65, - "end_line": 65, + "start_line": 66, + "end_line": 66, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37881,8 +38757,8 @@ "name": "approve_latest", "type": "Function", "tier": "TRIVIAL", - "start_line": 76, - "end_line": 76, + "start_line": 77, + "end_line": 77, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37899,8 +38775,8 @@ "name": "publish_latest", "type": "Function", "tier": "TRIVIAL", - "start_line": 89, - "end_line": 89, + "start_line": 90, + "end_line": 90, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37917,8 +38793,8 @@ "name": "build_manifest", "type": "Function", "tier": "TRIVIAL", - "start_line": 103, - "end_line": 103, + "start_line": 104, + "end_line": 104, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37935,8 +38811,8 @@ "name": "get_overview", "type": "Function", "tier": "TRIVIAL", - "start_line": 110, - "end_line": 110, + "start_line": 111, + "end_line": 111, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37953,8 +38829,8 @@ "name": "__init__", "type": "Function", "tier": "TRIVIAL", - "start_line": 152, - "end_line": 152, + "start_line": 153, + "end_line": 153, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37971,8 +38847,8 @@ "name": "_build_repository", "type": "Function", "tier": "TRIVIAL", - "start_line": 174, - "end_line": 174, + "start_line": 175, + "end_line": 175, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -37989,8 +38865,8 @@ "name": "_bootstrap_demo_repository", "type": "Function", "tier": "TRIVIAL", - "start_line": 182, - "end_line": 182, + "start_line": 183, + "end_line": 183, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38007,8 +38883,8 @@ "name": "_bootstrap_real_repository", "type": "Function", "tier": "TRIVIAL", - "start_line": 255, - "end_line": 255, + "start_line": 256, + "end_line": 256, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38025,24 +38901,6 @@ "name": "_resolve_candidate_id", "type": "Function", "tier": "TRIVIAL", - "start_line": 315, - "end_line": 315, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "draw_header", - "type": "Function", - "tier": "TRIVIAL", "start_line": 325, "end_line": 325, "tags": { @@ -38057,12 +38915,30 @@ "score": 1.0 } }, + { + "name": "draw_header", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 335, + "end_line": 335, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "draw_checks", "type": "Function", "tier": "TRIVIAL", - "start_line": 343, - "end_line": 343, + "start_line": 353, + "end_line": 353, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38079,8 +38955,8 @@ "name": "draw_sources", "type": "Function", "tier": "TRIVIAL", - "start_line": 376, - "end_line": 376, + "start_line": 386, + "end_line": 386, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38097,8 +38973,8 @@ "name": "draw_status", "type": "Function", "tier": "TRIVIAL", - "start_line": 387, - "end_line": 387, + "start_line": 397, + "end_line": 397, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38115,8 +38991,8 @@ "name": "draw_footer", "type": "Function", "tier": "TRIVIAL", - "start_line": 420, - "end_line": 420, + "start_line": 430, + "end_line": 430, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38133,8 +39009,8 @@ "name": "build_manifest", "type": "Function", "tier": "TRIVIAL", - "start_line": 467, - "end_line": 467, + "start_line": 477, + "end_line": 477, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38151,8 +39027,8 @@ "name": "clear_history", "type": "Function", "tier": "TRIVIAL", - "start_line": 480, - "end_line": 480, + "start_line": 490, + "end_line": 490, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38169,8 +39045,8 @@ "name": "approve_latest", "type": "Function", "tier": "TRIVIAL", - "start_line": 489, - "end_line": 489, + "start_line": 499, + "end_line": 499, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38187,8 +39063,8 @@ "name": "publish_latest", "type": "Function", "tier": "TRIVIAL", - "start_line": 502, - "end_line": 502, + "start_line": 512, + "end_line": 512, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38205,8 +39081,8 @@ "name": "refresh_overview", "type": "Function", "tier": "TRIVIAL", - "start_line": 515, - "end_line": 515, + "start_line": 525, + "end_line": 525, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38223,8 +39099,8 @@ "name": "refresh_overview", "type": "Function", "tier": "TRIVIAL", - "start_line": 528, - "end_line": 528, + "start_line": 538, + "end_line": 538, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38241,8 +39117,8 @@ "name": "refresh_screen", "type": "Function", "tier": "TRIVIAL", - "start_line": 534, - "end_line": 534, + "start_line": 544, + "end_line": 544, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38259,8 +39135,8 @@ "name": "loop", "type": "Function", "tier": "TRIVIAL", - "start_line": 547, - "end_line": 547, + "start_line": 557, + "end_line": 557, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38277,8 +39153,8 @@ "name": "tui_main", "type": "Function", "tier": "TRIVIAL", - "start_line": 566, - "end_line": 566, + "start_line": 576, + "end_line": 576, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38295,8 +39171,8 @@ "name": "main", "type": "Function", "tier": "TRIVIAL", - "start_line": 572, - "end_line": 572, + "start_line": 582, + "end_line": 582, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -38314,7 +39190,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 590 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 600 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -39759,7 +40635,7 @@ "type": "Module", "tier": "CRITICAL", "start_line": 1, - "end_line": 43, + "end_line": 81, "tags": { "SEMANTICS": "setup, database, auth, migration", "PURPOSE": "Initializes the auth database and creates the necessary tables.", @@ -39773,12 +40649,112 @@ } ], "children": [ + { + "name": "ensure_encryption_key", + "type": "Function", + "tier": "CRITICAL", + "start_line": 27, + "end_line": 57, + "tags": { + "PURPOSE": "Ensure backend runtime has a persistent Fernet encryption key during first-time installation.", + "PRE": "Backend root is writable or ENCRYPTION_KEY is already provided via environment.", + "POST": "ENCRYPTION_KEY exists in process environment or backend/.env." + }, + "relations": [], + "children": [], + "compliance": { + "valid": false, + "issues": [ + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 27 + } + ], + "score": 0.0 + } + }, { "name": "run_init", "type": "Function", "tier": "CRITICAL", - "start_line": 22, - "end_line": 38, + "start_line": 59, + "end_line": 76, "tags": { "PURPOSE": "Main entry point for the initialization script.", "POST": "auth.db is initialized with the correct schema and seeded permissions." @@ -39791,82 +40767,82 @@ { "message": "Missing Mandatory Tag: @PRE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @PRE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 22 + "line_number": 59 } ], "score": 0.0 @@ -39890,7 +40866,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 83, + "end_line": 94, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, setup, user, auth, cli", @@ -39918,12 +40894,12 @@ "type": "Function", "tier": "STANDARD", "start_line": 27, - "end_line": 71, + "end_line": 77, "tags": { "PURPOSE": "Creates an admin user and necessary roles/permissions.", "PRE": "username and password provided via CLI.", "POST": "Admin user exists in auth.db.", - "PARAM": "password (str) - Admin password." + "PARAM": "email (str | None) - Optional admin email." }, "relations": [], "children": [], @@ -39977,6 +40953,23 @@ "score": 0.49000000000000005 } }, + { + "name": "src.scripts", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Script entrypoint package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "backend.src.schemas.health", "type": "Module", @@ -40745,7 +41738,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 175, + "end_line": 180, "tags": { "TIER": "STANDARD", "SEMANTICS": "profile, schemas, pydantic, preferences, superset, lookup, security, git, ux", @@ -40801,7 +41794,7 @@ "type": "Class", "tier": "STANDARD", "start_line": 40, - "end_line": 67, + "end_line": 68, "tags": { "TIER": "STANDARD", "PURPOSE": "Represents persisted profile preference for a single authenticated user." @@ -40818,8 +41811,8 @@ "name": "ProfilePreferenceUpdateRequest", "type": "Class", "tier": "STANDARD", - "start_line": 70, - "end_line": 122, + "start_line": 71, + "end_line": 127, "tags": { "TIER": "STANDARD", "PURPOSE": "Request payload for updating current user's profile settings." @@ -40836,8 +41829,8 @@ "name": "ProfilePreferenceResponse", "type": "Class", "tier": "STANDARD", - "start_line": 125, - "end_line": 134, + "start_line": 130, + "end_line": 139, "tags": { "TIER": "STANDARD", "PURPOSE": "Response envelope for profile preference read/update endpoints." @@ -40854,8 +41847,8 @@ "name": "SupersetAccountLookupRequest", "type": "Class", "tier": "STANDARD", - "start_line": 137, - "end_line": 147, + "start_line": 142, + "end_line": 152, "tags": { "TIER": "STANDARD", "PURPOSE": "Query contract for Superset account lookup by selected environment." @@ -40872,8 +41865,8 @@ "name": "SupersetAccountCandidate", "type": "Class", "tier": "STANDARD", - "start_line": 150, - "end_line": 159, + "start_line": 155, + "end_line": 164, "tags": { "TIER": "STANDARD", "PURPOSE": "Canonical account candidate projected from Superset users payload." @@ -40890,8 +41883,8 @@ "name": "SupersetAccountLookupResponse", "type": "Class", "tier": "STANDARD", - "start_line": 162, - "end_line": 173, + "start_line": 167, + "end_line": 178, "tags": { "TIER": "STANDARD", "PURPOSE": "Response envelope for Superset account lookup (success or degraded mode)." @@ -40911,6 +41904,23 @@ "score": 0.9400000000000001 } }, + { + "name": "src.schemas", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "API schema package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "backend.src.schemas.__tests__.test_settings_and_health_schemas", "type": "Module", @@ -41423,7 +42433,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 1133, + "end_line": 1153, "tags": { "SEMANTICS": "superset, api, client, rest, http, dashboard, dataset, import, export", "PURPOSE": "\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 Superset REST API, \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0443\u044f \u043b\u043e\u0433\u0438\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043f\u0430\u0433\u0438\u043d\u0430\u0446\u0438\u044e.", @@ -41447,7 +42457,7 @@ "type": "Class", "tier": "STANDARD", "start_line": 26, - "end_line": 1131, + "end_line": 1151, "tags": { "PURPOSE": "\u041a\u043b\u0430\u0441\u0441-\u043e\u0431\u0451\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 Superset REST API, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430\u043c\u0438 \u0438 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430\u043c\u0438." }, @@ -41714,7 +42724,7 @@ "type": "Function", "tier": "STANDARD", "start_line": 148, - "end_line": 221, + "end_line": 229, "tags": { "PURPOSE": "Fetches dashboard metadata optimized for the grid.", "PRE": "Client is authenticated.", @@ -41764,8 +42774,8 @@ "name": "get_dashboards_summary_page", "type": "Function", "tier": "STANDARD", - "start_line": 223, - "end_line": 282, + "start_line": 231, + "end_line": 302, "tags": { "PURPOSE": "Fetches one page of dashboard metadata optimized for the grid.", "PARAM": "page_size (int) - Number of items per page.", @@ -41781,32 +42791,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 223 + "line_number": 231 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 223 + "line_number": 231 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 223 + "line_number": 231 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 223 + "line_number": 231 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 223 + "line_number": 231 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 223 + "line_number": 231 } ], "score": 0.0 @@ -41816,8 +42826,8 @@ "name": "_extract_owner_labels", "type": "Function", "tier": "STANDARD", - "start_line": 284, - "end_line": 309, + "start_line": 304, + "end_line": 329, "tags": { "PURPOSE": "Normalize dashboard owners payload to stable display labels.", "PRE": "owners payload can be scalar, object or list.", @@ -41832,47 +42842,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 284 + "line_number": 304 } ], "score": 0.0 @@ -41882,8 +42892,8 @@ "name": "_extract_user_display", "type": "Function", "tier": "STANDARD", - "start_line": 311, - "end_line": 337, + "start_line": 331, + "end_line": 357, "tags": { "PURPOSE": "Normalize user payload to a stable display name.", "PRE": "user payload can be string, dict or None.", @@ -41898,47 +42908,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 311 + "line_number": 331 } ], "score": 0.0 @@ -41948,8 +42958,8 @@ "name": "_sanitize_user_text", "type": "Function", "tier": "STANDARD", - "start_line": 339, - "end_line": 351, + "start_line": 359, + "end_line": 371, "tags": { "PURPOSE": "Convert scalar value to non-empty user-facing text.", "PRE": "value can be any scalar type.", @@ -41964,47 +42974,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 339 + "line_number": 359 } ], "score": 0.0 @@ -42014,8 +43024,8 @@ "name": "get_dashboard", "type": "Function", "tier": "STANDARD", - "start_line": 353, - "end_line": 362, + "start_line": 373, + "end_line": 382, "tags": { "PURPOSE": "Fetches a single dashboard by ID.", "PRE": "Client is authenticated and dashboard_id exists.", @@ -42030,32 +43040,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 353 + "line_number": 373 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 353 + "line_number": 373 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 353 + "line_number": 373 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 353 + "line_number": 373 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 353 + "line_number": 373 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 353 + "line_number": 373 } ], "score": 0.0 @@ -42065,8 +43075,8 @@ "name": "get_chart", "type": "Function", "tier": "STANDARD", - "start_line": 364, - "end_line": 373, + "start_line": 384, + "end_line": 393, "tags": { "PURPOSE": "Fetches a single chart by ID.", "PRE": "Client is authenticated and chart_id exists.", @@ -42081,32 +43091,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 364 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 364 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 364 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 364 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 364 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 364 + "line_number": 384 } ], "score": 0.0 @@ -42116,8 +43126,8 @@ "name": "get_dashboard_detail", "type": "Function", "tier": "STANDARD", - "start_line": 375, - "end_line": 565, + "start_line": 395, + "end_line": 585, "tags": { "PURPOSE": "Fetches detailed dashboard information including related charts and datasets.", "PRE": "Client is authenticated and dashboard_id exists.", @@ -42132,32 +43142,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 395 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 375 + "line_number": 395 } ], "score": 0.0 @@ -42167,8 +43177,8 @@ "name": "get_charts", "type": "Function", "tier": "STANDARD", - "start_line": 567, - "end_line": 584, + "start_line": 587, + "end_line": 604, "tags": { "PURPOSE": "Fetches all charts with pagination support.", "PARAM": "query (Optional[Dict]) - Optional query params/columns/filters.", @@ -42184,32 +43194,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 587 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 587 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 587 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 587 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 587 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 587 } ], "score": 0.0 @@ -42219,8 +43229,8 @@ "name": "_extract_chart_ids_from_layout", "type": "Function", "tier": "STANDARD", - "start_line": 586, - "end_line": 616, + "start_line": 606, + "end_line": 636, "tags": { "PURPOSE": "Traverses dashboard layout metadata and extracts chart IDs from common keys.", "PRE": "payload can be dict/list/scalar.", @@ -42234,32 +43244,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 586 + "line_number": 606 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 586 + "line_number": 606 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 586 + "line_number": 606 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 586 + "line_number": 606 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 586 + "line_number": 606 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 586 + "line_number": 606 } ], "score": 0.0 @@ -42269,8 +43279,8 @@ "name": "export_dashboard", "type": "Function", "tier": "STANDARD", - "start_line": 618, - "end_line": 639, + "start_line": 638, + "end_line": 659, "tags": { "PURPOSE": "\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u0432 \u0432\u0438\u0434\u0435 ZIP-\u0430\u0440\u0445\u0438\u0432\u0430.", "PARAM": "dashboard_id (int) - ID \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.", @@ -42286,32 +43296,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 618 + "line_number": 638 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 618 + "line_number": 638 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 618 + "line_number": 638 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 618 + "line_number": 638 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 618 + "line_number": 638 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 618 + "line_number": 638 } ], "score": 0.0 @@ -42321,8 +43331,8 @@ "name": "import_dashboard", "type": "Function", "tier": "STANDARD", - "start_line": 641, - "end_line": 670, + "start_line": 661, + "end_line": 690, "tags": { "PURPOSE": "\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u0438\u0437 ZIP-\u0444\u0430\u0439\u043b\u0430.", "PARAM": "dash_slug (Optional[str]) - Slug \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 ID.", @@ -42338,32 +43348,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 641 + "line_number": 661 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 641 + "line_number": 661 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 641 + "line_number": 661 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 641 + "line_number": 661 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 641 + "line_number": 661 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 641 + "line_number": 661 } ], "score": 0.0 @@ -42373,8 +43383,8 @@ "name": "delete_dashboard", "type": "Function", "tier": "STANDARD", - "start_line": 672, - "end_line": 686, + "start_line": 692, + "end_line": 706, "tags": { "PURPOSE": "\u0423\u0434\u0430\u043b\u044f\u0435\u0442 \u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u043f\u043e \u0435\u0433\u043e ID \u0438\u043b\u0438 slug.", "PARAM": "dashboard_id (Union[int, str]) - ID \u0438\u043b\u0438 slug \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430.", @@ -42389,32 +43399,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 672 + "line_number": 692 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 672 + "line_number": 692 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 672 + "line_number": 692 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 672 + "line_number": 692 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 672 + "line_number": 692 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 672 + "line_number": 692 } ], "score": 0.0 @@ -42424,8 +43434,8 @@ "name": "get_datasets", "type": "Function", "tier": "STANDARD", - "start_line": 692, - "end_line": 710, + "start_line": 712, + "end_line": 730, "tags": { "PURPOSE": "\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u043e\u0432, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044f \u043f\u0430\u0433\u0438\u043d\u0430\u0446\u0438\u044e.", "PARAM": "query (Optional[Dict]) - \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0430.", @@ -42441,32 +43451,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 692 + "line_number": 712 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 692 + "line_number": 712 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 692 + "line_number": 712 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 692 + "line_number": 712 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 692 + "line_number": 712 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 692 + "line_number": 712 } ], "score": 0.0 @@ -42476,8 +43486,8 @@ "name": "get_datasets_summary", "type": "Function", "tier": "STANDARD", - "start_line": 712, - "end_line": 734, + "start_line": 732, + "end_line": 754, "tags": { "PURPOSE": "Fetches dataset metadata optimized for the Dataset Hub grid.", "PRE": "Client is authenticated.", @@ -42492,32 +43502,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 712 + "line_number": 732 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 712 + "line_number": 732 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 712 + "line_number": 732 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 712 + "line_number": 732 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 712 + "line_number": 732 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 712 + "line_number": 732 } ], "score": 0.0 @@ -42527,8 +43537,8 @@ "name": "get_dataset_detail", "type": "Function", "tier": "STANDARD", - "start_line": 736, - "end_line": 846, + "start_line": 756, + "end_line": 866, "tags": { "PURPOSE": "Fetches detailed dataset information including columns and linked dashboards", "PRE": "Client is authenticated and dataset_id exists.", @@ -42553,32 +43563,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 736 + "line_number": 756 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 736 + "line_number": 756 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 736 + "line_number": 756 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 736 + "line_number": 756 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 736 + "line_number": 756 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 736 + "line_number": 756 } ], "score": 0.0 @@ -42588,8 +43598,8 @@ "name": "get_dataset", "type": "Function", "tier": "STANDARD", - "start_line": 848, - "end_line": 861, + "start_line": 868, + "end_line": 881, "tags": { "PURPOSE": "\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 \u043f\u043e \u0435\u0433\u043e ID.", "PARAM": "dataset_id (int) - ID \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430.", @@ -42605,32 +43615,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 868 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 868 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 868 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 868 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 868 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 868 } ], "score": 0.0 @@ -42640,8 +43650,8 @@ "name": "update_dataset", "type": "Function", "tier": "STANDARD", - "start_line": 863, - "end_line": 882, + "start_line": 883, + "end_line": 902, "tags": { "PURPOSE": "\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430 \u043f\u043e \u0435\u0433\u043e ID.", "PARAM": "data (Dict) - \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.", @@ -42657,32 +43667,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 863 + "line_number": 883 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 863 + "line_number": 883 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 863 + "line_number": 883 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 863 + "line_number": 883 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 863 + "line_number": 883 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 863 + "line_number": 883 } ], "score": 0.0 @@ -42692,8 +43702,8 @@ "name": "get_databases", "type": "Function", "tier": "STANDARD", - "start_line": 888, - "end_line": 908, + "start_line": 908, + "end_line": 928, "tags": { "PURPOSE": "\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445.", "PARAM": "query (Optional[Dict]) - \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0430.", @@ -42709,32 +43719,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 888 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 888 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 888 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 888 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 888 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 888 + "line_number": 908 } ], "score": 0.0 @@ -42744,8 +43754,8 @@ "name": "get_database", "type": "Function", "tier": "STANDARD", - "start_line": 910, - "end_line": 923, + "start_line": 930, + "end_line": 943, "tags": { "PURPOSE": "\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0435\u0451 ID.", "PARAM": "database_id (int) - ID \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.", @@ -42761,32 +43771,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 910 + "line_number": 930 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 910 + "line_number": 930 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 910 + "line_number": 930 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 910 + "line_number": 930 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 910 + "line_number": 930 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 910 + "line_number": 930 } ], "score": 0.0 @@ -42796,8 +43806,8 @@ "name": "get_databases_summary", "type": "Function", "tier": "STANDARD", - "start_line": 925, - "end_line": 942, + "start_line": 945, + "end_line": 962, "tags": { "PURPOSE": "Fetch a summary of databases including uuid, name, and engine.", "PRE": "Client is authenticated.", @@ -42812,32 +43822,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 925 + "line_number": 945 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 925 + "line_number": 945 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 925 + "line_number": 945 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 925 + "line_number": 945 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 925 + "line_number": 945 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 925 + "line_number": 945 } ], "score": 0.0 @@ -42847,8 +43857,8 @@ "name": "get_database_by_uuid", "type": "Function", "tier": "STANDARD", - "start_line": 944, - "end_line": 957, + "start_line": 964, + "end_line": 977, "tags": { "PURPOSE": "Find a database by its UUID.", "PARAM": "db_uuid (str) - The UUID of the database.", @@ -42864,32 +43874,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 944 + "line_number": 964 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 944 + "line_number": 964 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 944 + "line_number": 964 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 944 + "line_number": 964 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 944 + "line_number": 964 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 944 + "line_number": 964 } ], "score": 0.0 @@ -42899,8 +43909,8 @@ "name": "_resolve_target_id_for_delete", "type": "Function", "tier": "STANDARD", - "start_line": 963, - "end_line": 982, + "start_line": 983, + "end_line": 1002, "tags": { "PURPOSE": "Resolves a dashboard ID from either an ID or a slug.", "PRE": "Either dash_id or dash_slug should be provided.", @@ -42914,32 +43924,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 963 + "line_number": 983 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 963 + "line_number": 983 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 963 + "line_number": 983 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 963 + "line_number": 983 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 963 + "line_number": 983 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 963 + "line_number": 983 } ], "score": 0.0 @@ -42949,8 +43959,8 @@ "name": "_do_import", "type": "Function", "tier": "STANDARD", - "start_line": 984, - "end_line": 1002, + "start_line": 1004, + "end_line": 1022, "tags": { "PURPOSE": "Performs the actual multipart upload for import.", "PRE": "file_name must be a path to an existing ZIP file.", @@ -42964,32 +43974,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 984 + "line_number": 1004 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 984 + "line_number": 1004 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 984 + "line_number": 1004 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 984 + "line_number": 1004 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 984 + "line_number": 1004 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 984 + "line_number": 1004 } ], "score": 0.0 @@ -42999,8 +44009,8 @@ "name": "_validate_export_response", "type": "Function", "tier": "STANDARD", - "start_line": 1004, - "end_line": 1015, + "start_line": 1024, + "end_line": 1035, "tags": { "PURPOSE": "Validates that the export response is a non-empty ZIP archive.", "PRE": "response must be a valid requests.Response object.", @@ -43014,32 +44024,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1004 + "line_number": 1024 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1004 + "line_number": 1024 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1004 + "line_number": 1024 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1004 + "line_number": 1024 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1004 + "line_number": 1024 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1004 + "line_number": 1024 } ], "score": 0.0 @@ -43049,8 +44059,8 @@ "name": "_resolve_export_filename", "type": "Function", "tier": "STANDARD", - "start_line": 1017, - "end_line": 1030, + "start_line": 1037, + "end_line": 1050, "tags": { "PURPOSE": "Determines the filename for an exported dashboard.", "PRE": "response must contain Content-Disposition header or dashboard_id must be provided.", @@ -43064,32 +44074,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1017 + "line_number": 1037 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1017 + "line_number": 1037 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1017 + "line_number": 1037 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1017 + "line_number": 1037 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1017 + "line_number": 1037 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1017 + "line_number": 1037 } ], "score": 0.0 @@ -43099,8 +44109,8 @@ "name": "_validate_query_params", "type": "Function", "tier": "STANDARD", - "start_line": 1032, - "end_line": 1042, + "start_line": 1052, + "end_line": 1062, "tags": { "PURPOSE": "Ensures query parameters have default page and page_size.", "PRE": "query can be None or a dictionary.", @@ -43114,32 +44124,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1032 + "line_number": 1052 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1032 + "line_number": 1052 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1032 + "line_number": 1052 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1032 + "line_number": 1052 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1032 + "line_number": 1052 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1032 + "line_number": 1052 } ], "score": 0.0 @@ -43149,8 +44159,8 @@ "name": "_fetch_total_object_count", "type": "Function", "tier": "STANDARD", - "start_line": 1044, - "end_line": 1055, + "start_line": 1064, + "end_line": 1075, "tags": { "PURPOSE": "Fetches the total number of items for a given endpoint.", "PRE": "endpoint must be a valid Superset API path.", @@ -43164,32 +44174,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1044 + "line_number": 1064 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1044 + "line_number": 1064 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1044 + "line_number": 1064 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1044 + "line_number": 1064 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1044 + "line_number": 1064 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1044 + "line_number": 1064 } ], "score": 0.0 @@ -43199,8 +44209,8 @@ "name": "_fetch_all_pages", "type": "Function", "tier": "STANDARD", - "start_line": 1057, - "end_line": 1064, + "start_line": 1077, + "end_line": 1084, "tags": { "PURPOSE": "Iterates through all pages to collect all data items.", "PRE": "pagination_options must contain base_query, total_count, and results_field.", @@ -43214,32 +44224,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1057 + "line_number": 1077 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1057 + "line_number": 1077 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1057 + "line_number": 1077 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1057 + "line_number": 1077 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1057 + "line_number": 1077 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1057 + "line_number": 1077 } ], "score": 0.0 @@ -43249,8 +44259,8 @@ "name": "_validate_import_file", "type": "Function", "tier": "STANDARD", - "start_line": 1066, - "end_line": 1080, + "start_line": 1086, + "end_line": 1100, "tags": { "PURPOSE": "Validates that the file to be imported is a valid ZIP with metadata.yaml.", "PRE": "zip_path must be a path to a file.", @@ -43264,32 +44274,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1066 + "line_number": 1086 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1066 + "line_number": 1086 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1066 + "line_number": 1086 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1066 + "line_number": 1086 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1066 + "line_number": 1086 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1066 + "line_number": 1086 } ], "score": 0.0 @@ -43299,8 +44309,8 @@ "name": "get_all_resources", "type": "Function", "tier": "STANDARD", - "start_line": 1082, - "end_line": 1127, + "start_line": 1102, + "end_line": 1147, "tags": { "PURPOSE": "Fetches all resources of a given type with id, uuid, and name columns.", "PARAM": "resource_type (str) - One of \"chart\", \"dataset\", \"dashboard\".", @@ -43316,32 +44326,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1082 + "line_number": 1102 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1082 + "line_number": 1102 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1082 + "line_number": 1102 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1082 + "line_number": 1102 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1082 + "line_number": 1102 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1082 + "line_number": 1102 } ], "score": 0.0 @@ -43369,8 +44379,8 @@ "name": "extract_dataset_id_from_form_data", "type": "Function", "tier": "TRIVIAL", - "start_line": 388, - "end_line": 388, + "start_line": 408, + "end_line": 408, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -43387,8 +44397,8 @@ "name": "walk", "type": "Function", "tier": "TRIVIAL", - "start_line": 594, - "end_line": 594, + "start_line": 614, + "end_line": 614, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -43405,8 +44415,8 @@ "name": "as_bool", "type": "Function", "tier": "TRIVIAL", - "start_line": 746, - "end_line": 746, + "start_line": 766, + "end_line": 766, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -43439,7 +44449,7 @@ "line_number": 1 }, { - "message": "Fractal limit warning: Module length is 1133 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 1153 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -43452,7 +44462,7 @@ "type": "Module", "tier": "CRITICAL", "start_line": 1, - "end_line": 336, + "end_line": 388, "tags": { "TIER": "CRITICAL", "SEMANTICS": "config, manager, persistence, migration, postgresql", @@ -43492,7 +44502,7 @@ "type": "Class", "tier": "CRITICAL", "start_line": 28, - "end_line": 335, + "end_line": 387, "tags": { "TIER": "CRITICAL", "PURPOSE": "Handles application configuration load, validation, mutation, and persistence lifecycle." @@ -43504,7 +44514,7 @@ "type": "Function", "tier": "CRITICAL", "start_line": 32, - "end_line": 56, + "end_line": 57, "tags": { "PURPOSE": "Initialize manager state from persisted or migrated configuration.", "PRE": "config_path is a non-empty string path.", @@ -43600,8 +44610,8 @@ "name": "_default_config", "type": "Function", "tier": "CRITICAL", - "start_line": 58, - "end_line": 70, + "start_line": 59, + "end_line": 71, "tags": { "PURPOSE": "Build default application configuration fallback.", "PRE": "None.", @@ -43617,77 +44627,174 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 58 + "line_number": 59 + } + ], + "score": 0.0 + } + }, + { + "name": "_sync_raw_payload_from_config", + "type": "Function", + "tier": "CRITICAL", + "start_line": 73, + "end_line": 85, + "tags": { + "PURPOSE": "Merge typed AppConfig state into raw payload while preserving unsupported legacy sections.", + "PRE": "self.config is initialized as AppConfig.", + "POST": "self.raw_payload contains AppConfig fields refreshed from self.config.", + "SIDE_EFFECT": "Mutates self.raw_payload in memory.", + "DATA_CONTRACT": "Input(None) -> Output(dict[str, Any])" + }, + "relations": [], + "children": [], + "compliance": { + "valid": false, + "issues": [ + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 73 } ], "score": 0.0 @@ -43697,8 +44804,8 @@ "name": "_load_from_legacy_file", "type": "Function", "tier": "CRITICAL", - "start_line": 72, - "end_line": 92, + "start_line": 87, + "end_line": 110, "tags": { "PURPOSE": "Load legacy JSON configuration for migration fallback path.", "PRE": "self.config_path is initialized.", @@ -43714,77 +44821,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 72 + "line_number": 87 } ], "score": 0.0 @@ -43794,8 +44901,8 @@ "name": "_get_record", "type": "Function", "tier": "CRITICAL", - "start_line": 94, - "end_line": 103, + "start_line": 112, + "end_line": 121, "tags": { "PURPOSE": "Resolve global configuration record from DB.", "PRE": "session is an active SQLAlchemy Session.", @@ -43811,77 +44918,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 94 + "line_number": 112 } ], "score": 0.0 @@ -43891,8 +44998,8 @@ "name": "_load_config", "type": "Function", "tier": "CRITICAL", - "start_line": 105, - "end_line": 132, + "start_line": 123, + "end_line": 152, "tags": { "PURPOSE": "Load configuration from DB or perform one-time migration from legacy JSON.", "PRE": "SessionLocal factory is available and AppConfigRecord schema is accessible.", @@ -43908,77 +45015,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 105 + "line_number": 123 } ], "score": 0.0 @@ -43988,8 +45095,8 @@ "name": "_save_config_to_db", "type": "Function", "tier": "CRITICAL", - "start_line": 134, - "end_line": 166, + "start_line": 154, + "end_line": 186, "tags": { "PURPOSE": "Persist provided AppConfig into the global DB configuration record.", "PRE": "config is AppConfig; session is either None or an active Session.", @@ -44005,77 +45112,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 134 + "line_number": 154 } ], "score": 0.0 @@ -44085,8 +45192,8 @@ "name": "save", "type": "Function", "tier": "CRITICAL", - "start_line": 168, - "end_line": 177, + "start_line": 188, + "end_line": 197, "tags": { "PURPOSE": "Persist current in-memory configuration state.", "PRE": "self.config is initialized.", @@ -44102,77 +45209,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 168 + "line_number": 188 } ], "score": 0.0 @@ -44182,8 +45289,8 @@ "name": "get_config", "type": "Function", "tier": "CRITICAL", - "start_line": 179, - "end_line": 188, + "start_line": 199, + "end_line": 208, "tags": { "PURPOSE": "Return current in-memory configuration snapshot.", "PRE": "self.config is initialized.", @@ -44199,77 +45306,271 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 179 + "line_number": 199 + } + ], + "score": 0.0 + } + }, + { + "name": "get_payload", + "type": "Function", + "tier": "CRITICAL", + "start_line": 210, + "end_line": 219, + "tags": { + "PURPOSE": "Return full persisted payload including sections outside typed AppConfig schema.", + "PRE": "Manager state is initialized.", + "POST": "Returns dict payload with current AppConfig fields synchronized.", + "SIDE_EFFECT": "Refreshes self.raw_payload from self.config before returning.", + "DATA_CONTRACT": "Input(None) -> Output(dict[str, Any])" + }, + "relations": [], + "children": [], + "compliance": { + "valid": false, + "issues": [ + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 210 + } + ], + "score": 0.0 + } + }, + { + "name": "save_config", + "type": "Function", + "tier": "CRITICAL", + "start_line": 221, + "end_line": 240, + "tags": { + "PURPOSE": "Persist configuration provided either as typed AppConfig or raw payload dict.", + "PRE": "config is AppConfig or dict compatible with AppConfig core schema.", + "POST": "self.config and self.raw_payload are synchronized and persisted to DB.", + "SIDE_EFFECT": "Mutates in-memory config state, writes database record, may reconfigure logger.", + "DATA_CONTRACT": "Input(AppConfig|dict[str, Any]) -> Output(None)" + }, + "relations": [], + "children": [], + "compliance": { + "valid": false, + "issues": [ + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 221 } ], "score": 0.0 @@ -44279,8 +45580,8 @@ "name": "update_global_settings", "type": "Function", "tier": "CRITICAL", - "start_line": 190, - "end_line": 206, + "start_line": 242, + "end_line": 258, "tags": { "PURPOSE": "Replace global settings and persist the resulting configuration.", "PRE": "settings is GlobalSettings.", @@ -44296,77 +45597,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 190 + "line_number": 242 } ], "score": 0.0 @@ -44376,8 +45677,8 @@ "name": "validate_path", "type": "Function", "tier": "CRITICAL", - "start_line": 208, - "end_line": 227, + "start_line": 260, + "end_line": 279, "tags": { "PURPOSE": "Validate that path exists and is writable, creating it when absent.", "PRE": "path is a string path candidate.", @@ -44393,77 +45694,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 208 + "line_number": 260 } ], "score": 0.0 @@ -44473,8 +45774,8 @@ "name": "get_environments", "type": "Function", "tier": "CRITICAL", - "start_line": 229, - "end_line": 238, + "start_line": 281, + "end_line": 290, "tags": { "PURPOSE": "Return all configured environments.", "PRE": "self.config is initialized.", @@ -44490,77 +45791,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 229 + "line_number": 281 } ], "score": 0.0 @@ -44570,8 +45871,8 @@ "name": "has_environments", "type": "Function", "tier": "CRITICAL", - "start_line": 240, - "end_line": 249, + "start_line": 292, + "end_line": 301, "tags": { "PURPOSE": "Check whether at least one environment exists in configuration.", "PRE": "self.config is initialized.", @@ -44587,77 +45888,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 240 + "line_number": 292 } ], "score": 0.0 @@ -44667,8 +45968,8 @@ "name": "get_environment", "type": "Function", "tier": "CRITICAL", - "start_line": 251, - "end_line": 263, + "start_line": 303, + "end_line": 315, "tags": { "PURPOSE": "Resolve a configured environment by identifier.", "PRE": "env_id is string identifier.", @@ -44684,77 +45985,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 251 + "line_number": 303 } ], "score": 0.0 @@ -44764,8 +46065,8 @@ "name": "add_environment", "type": "Function", "tier": "CRITICAL", - "start_line": 265, - "end_line": 281, + "start_line": 317, + "end_line": 333, "tags": { "PURPOSE": "Upsert environment by id into configuration and persist.", "PRE": "env is Environment.", @@ -44781,77 +46082,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 265 + "line_number": 317 } ], "score": 0.0 @@ -44861,8 +46162,8 @@ "name": "update_environment", "type": "Function", "tier": "CRITICAL", - "start_line": 283, - "end_line": 310, + "start_line": 335, + "end_line": 362, "tags": { "PURPOSE": "Update existing environment by id and preserve masked password placeholder behavior.", "PRE": "env_id is non-empty string and updated_env is Environment.", @@ -44878,77 +46179,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 283 + "line_number": 335 } ], "score": 0.0 @@ -44958,8 +46259,8 @@ "name": "delete_environment", "type": "Function", "tier": "CRITICAL", - "start_line": 312, - "end_line": 332, + "start_line": 364, + "end_line": 384, "tags": { "PURPOSE": "Delete environment by id and persist when deletion occurs.", "PRE": "env_id is non-empty string.", @@ -44975,77 +46276,77 @@ { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 312 + "line_number": 364 } ], "score": 0.0 @@ -45084,7 +46385,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 336 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 388 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -45686,7 +46987,7 @@ "type": "Module", "tier": "CRITICAL", "start_line": 1, - "end_line": 337, + "end_line": 342, "tags": { "TIER": "STANDARD", "SEMANTICS": "database, postgresql, sqlalchemy, session, persistence", @@ -45890,7 +47191,7 @@ "type": "Function", "tier": "CRITICAL", "start_line": 99, - "end_line": 157, + "end_line": 162, "tags": { "PURPOSE": "Applies additive schema upgrades for user_dashboard_preferences table.", "PRE": "bind_engine points to application database where profile table is stored.", @@ -45979,8 +47280,8 @@ "name": "_ensure_user_dashboard_preferences_health_columns", "type": "Function", "tier": "CRITICAL", - "start_line": 160, - "end_line": 200, + "start_line": 165, + "end_line": 205, "tags": { "PURPOSE": "Applies additive schema upgrades for user_dashboard_preferences table (health fields)." }, @@ -45992,92 +47293,92 @@ { "message": "Missing Mandatory Tag: @PRE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @POST (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @PRE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @POST (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 160 + "line_number": 165 } ], "score": 0.0 @@ -46087,8 +47388,8 @@ "name": "_ensure_llm_validation_results_columns", "type": "Function", "tier": "CRITICAL", - "start_line": 203, - "end_line": 239, + "start_line": 208, + "end_line": 244, "tags": { "PURPOSE": "Applies additive schema upgrades for llm_validation_results table." }, @@ -46100,92 +47401,92 @@ { "message": "Missing Mandatory Tag: @PRE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @POST (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @PRE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @POST (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 203 + "line_number": 208 } ], "score": 0.0 @@ -46195,8 +47496,8 @@ "name": "_ensure_git_server_configs_columns", "type": "Function", "tier": "CRITICAL", - "start_line": 242, - "end_line": 276, + "start_line": 247, + "end_line": 281, "tags": { "PURPOSE": "Applies additive schema upgrades for git_server_configs table.", "PRE": "bind_engine points to application database.", @@ -46210,72 +47511,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 242 + "line_number": 247 } ], "score": 0.0 @@ -46285,8 +47586,8 @@ "name": "init_db", "type": "Function", "tier": "CRITICAL", - "start_line": 279, - "end_line": 293, + "start_line": 284, + "end_line": 298, "tags": { "PURPOSE": "Initializes the database by creating all tables.", "PRE": "engine, tasks_engine and auth_engine are initialized.", @@ -46301,62 +47602,62 @@ { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 279 + "line_number": 284 } ], "score": 0.0 @@ -46366,8 +47667,8 @@ "name": "get_db", "type": "Function", "tier": "CRITICAL", - "start_line": 295, - "end_line": 307, + "start_line": 300, + "end_line": 312, "tags": { "PURPOSE": "Dependency for getting a database session.", "PRE": "SessionLocal is initialized.", @@ -46382,72 +47683,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 295 + "line_number": 300 } ], "score": 0.0 @@ -46457,8 +47758,8 @@ "name": "get_tasks_db", "type": "Function", "tier": "CRITICAL", - "start_line": 309, - "end_line": 321, + "start_line": 314, + "end_line": 326, "tags": { "PURPOSE": "Dependency for getting a tasks database session.", "PRE": "TasksSessionLocal is initialized.", @@ -46473,72 +47774,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 309 + "line_number": 314 } ], "score": 0.0 @@ -46548,8 +47849,8 @@ "name": "get_auth_db", "type": "Function", "tier": "CRITICAL", - "start_line": 323, - "end_line": 335, + "start_line": 328, + "end_line": 340, "tags": { "PURPOSE": "Dependency for getting an authentication database session.", "PRE": "AuthSessionLocal is initialized.", @@ -46564,72 +47865,72 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 }, { "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", "severity": "ERROR", - "line_number": 323 + "line_number": 328 } ], "score": 0.0 @@ -46658,7 +47959,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 337 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 342 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -47608,7 +48909,7 @@ "type": "Class", "tier": "STANDARD", "start_line": 8, - "end_line": 201, + "end_line": 192, "tags": { "TIER": "STANDARD", "SEMANTICS": "plugin, loader, dynamic, import", @@ -47704,7 +49005,7 @@ "type": "Function", "tier": "STANDARD", "start_line": 68, - "end_line": 116, + "end_line": 107, "tags": { "PURPOSE": "Loads a single Python module and discovers PluginBase implementations.", "PRE": "module_name and file_path are valid.", @@ -47744,8 +49045,8 @@ "name": "_register_plugin", "type": "Function", "tier": "STANDARD", - "start_line": 118, - "end_line": 157, + "start_line": 109, + "end_line": 148, "tags": { "PURPOSE": "Registers a PluginBase instance and its configuration.", "PRE": "plugin_instance is a valid implementation of PluginBase.", @@ -47760,22 +49061,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 118 + "line_number": 109 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 118 + "line_number": 109 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 118 + "line_number": 109 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 118 + "line_number": 109 } ], "score": 0.28 @@ -47785,8 +49086,8 @@ "name": "get_plugin", "type": "Function", "tier": "STANDARD", - "start_line": 160, - "end_line": 172, + "start_line": 151, + "end_line": 163, "tags": { "PURPOSE": "Retrieves a loaded plugin instance by its ID.", "PRE": "plugin_id is a string.", @@ -47802,22 +49103,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 160 + "line_number": 151 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 160 + "line_number": 151 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 160 + "line_number": 151 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 160 + "line_number": 151 } ], "score": 0.28 @@ -47827,8 +49128,8 @@ "name": "get_all_plugin_configs", "type": "Function", "tier": "STANDARD", - "start_line": 174, - "end_line": 185, + "start_line": 165, + "end_line": 176, "tags": { "PURPOSE": "Returns a list of all registered plugin configurations.", "PRE": "None.", @@ -47843,22 +49144,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 174 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 174 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 174 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 174 + "line_number": 165 } ], "score": 0.28 @@ -47868,8 +49169,8 @@ "name": "has_plugin", "type": "Function", "tier": "STANDARD", - "start_line": 187, - "end_line": 199, + "start_line": 178, + "end_line": 190, "tags": { "PURPOSE": "Checks if a plugin with the given ID is registered.", "PRE": "plugin_id is a string.", @@ -47885,22 +49186,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 178 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 178 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 178 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 187 + "line_number": 178 } ], "score": 0.28 @@ -49338,6 +50639,23 @@ "score": 0.7 } }, + { + "name": "src.core", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Backend core services and infrastructure package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "backend.src.core.mapping_service", "type": "Module", @@ -51930,6 +53248,23 @@ "score": 0.95 } }, + { + "name": "src.core.auth", + "type": "Package", + "tier": "CRITICAL", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Authentication and authorization package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "test_auth", "type": "Module", @@ -55410,6 +56745,23 @@ "score": 0.73 } }, + { + "name": "src.core.utils", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Shared utility package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "backend.src.core.__tests__.test_superset_profile_lookup", "type": "Module", @@ -55879,6 +57231,192 @@ "score": 0.37000000000000005 } }, + { + "name": "backend.src.core.__tests__.test_config_manager_compat", + "type": "Module", + "tier": "STANDARD", + "start_line": 1, + "end_line": 53, + "tags": { + "TIER": "STANDARD", + "SEMANTICS": "config-manager, compatibility, payload, tests", + "PURPOSE": "Verifies ConfigManager compatibility wrappers preserve legacy payload sections.", + "LAYER": "Domain" + }, + "relations": [ + { + "type": "VERIFIES", + "target": "ConfigManager" + } + ], + "children": [ + { + "name": "test_get_payload_preserves_legacy_sections", + "type": "Function", + "tier": "STANDARD", + "start_line": 12, + "end_line": 23, + "tags": { + "PURPOSE": "Ensure get_payload merges typed config into raw payload without dropping legacy sections." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 12 + } + ], + "score": 0.0 + } + }, + { + "name": "test_save_config_accepts_raw_payload_and_keeps_extras", + "type": "Function", + "tier": "STANDARD", + "start_line": 26, + "end_line": 51, + "tags": { + "PURPOSE": "Ensure save_config accepts raw dict payload, refreshes typed config, and preserves extra sections." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 26 + } + ], + "score": 0.0 + } + }, + { + "name": "_capture_save", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 35, + "end_line": 35, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + } + ], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Invalid @RELATION predicate: VERIFIES. Allowed: BINDS_TO, CALLS, DEPENDS_ON, DISPATCHES, IMPLEMENTS, INHERITS", + "severity": "WARNING", + "line_number": 1 + } + ], + "score": 0.79 + } + }, { "name": "test_logger", "type": "Module", @@ -62566,6 +64104,23 @@ "score": 0.0 } }, + { + "name": "src.api", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Backend API package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "router", "type": "Global", @@ -66767,7 +68322,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 498, + "end_line": 504, "tags": { "SEMANTICS": "settings, api, router, fastapi", "PURPOSE": "Provides API endpoints for managing application settings and Superset environments.", @@ -66790,8 +68345,8 @@ "name": "LoggingConfigResponse", "type": "Class", "tier": "STANDARD", - "start_line": 29, - "end_line": 36, + "start_line": 30, + "end_line": 37, "tags": { "PURPOSE": "Response model for logging configuration with current task log level.", "SEMANTICS": "logging, config, response" @@ -66804,12 +68359,12 @@ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 30 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 29 + "line_number": 30 } ], "score": 0.5499999999999999 @@ -66819,8 +68374,8 @@ "name": "_normalize_superset_env_url", "type": "Function", "tier": "STANDARD", - "start_line": 41, - "end_line": 50, + "start_line": 42, + "end_line": 51, "tags": { "PURPOSE": "Canonicalize Superset environment URL to base host/path without trailing /api/v1.", "PRE": "raw_url can be empty.", @@ -66834,32 +68389,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 42 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 42 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 41 + "line_number": 42 } ], "score": 0.0 @@ -66869,8 +68424,8 @@ "name": "_validate_superset_connection_fast", "type": "Function", "tier": "STANDARD", - "start_line": 53, - "end_line": 69, + "start_line": 54, + "end_line": 70, "tags": { "PURPOSE": "Run lightweight Superset connectivity validation without full pagination scan.", "PRE": "env contains valid URL and credentials.", @@ -66884,32 +68439,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 53 + "line_number": 54 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 53 + "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 53 + "line_number": 54 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 53 + "line_number": 54 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 53 + "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 53 + "line_number": 54 } ], "score": 0.0 @@ -66919,8 +68474,8 @@ "name": "get_settings", "type": "Function", "tier": "STANDARD", - "start_line": 71, - "end_line": 90, + "start_line": 72, + "end_line": 91, "tags": { "PURPOSE": "Retrieves all application settings.", "PRE": "Config manager is available.", @@ -66935,22 +68490,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 72 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 71 + "line_number": 72 } ], "score": 0.28 @@ -66960,8 +68515,8 @@ "name": "update_global_settings", "type": "Function", "tier": "STANDARD", - "start_line": 92, - "end_line": 109, + "start_line": 93, + "end_line": 110, "tags": { "PURPOSE": "Updates global application settings.", "PRE": "New settings are provided.", @@ -66977,22 +68532,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 92 + "line_number": 93 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 92 + "line_number": 93 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 92 + "line_number": 93 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 92 + "line_number": 93 } ], "score": 0.28 @@ -67002,8 +68557,8 @@ "name": "get_storage_settings", "type": "Function", "tier": "STANDARD", - "start_line": 111, - "end_line": 121, + "start_line": 112, + "end_line": 122, "tags": { "PURPOSE": "Retrieves storage-specific settings.", "RETURN": "StorageConfig - The storage configuration." @@ -67016,42 +68571,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 111 + "line_number": 112 } ], "score": 0.0 @@ -67061,8 +68616,8 @@ "name": "update_storage_settings", "type": "Function", "tier": "STANDARD", - "start_line": 123, - "end_line": 143, + "start_line": 124, + "end_line": 144, "tags": { "PURPOSE": "Updates storage-specific settings.", "PARAM": "storage (StorageConfig) - The new storage settings.", @@ -67077,32 +68632,32 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 123 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 123 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 123 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 123 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 123 + "line_number": 124 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 123 + "line_number": 124 } ], "score": 0.0 @@ -67112,8 +68667,8 @@ "name": "get_environments", "type": "Function", "tier": "STANDARD", - "start_line": 145, - "end_line": 162, + "start_line": 146, + "end_line": 163, "tags": { "PURPOSE": "Lists all configured Superset environments.", "PRE": "Config manager is available.", @@ -67128,22 +68683,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 145 + "line_number": 146 } ], "score": 0.28 @@ -67153,8 +68708,8 @@ "name": "add_environment", "type": "Function", "tier": "STANDARD", - "start_line": 164, - "end_line": 189, + "start_line": 165, + "end_line": 190, "tags": { "PURPOSE": "Adds a new Superset environment.", "PRE": "Environment data is valid and reachable.", @@ -67170,22 +68725,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 165 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 164 + "line_number": 165 } ], "score": 0.28 @@ -67195,8 +68750,8 @@ "name": "update_environment", "type": "Function", "tier": "STANDARD", - "start_line": 191, - "end_line": 226, + "start_line": 192, + "end_line": 227, "tags": { "PURPOSE": "Updates an existing Superset environment.", "PRE": "ID and valid environment data are provided.", @@ -67212,22 +68767,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 191 + "line_number": 192 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 191 + "line_number": 192 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 191 + "line_number": 192 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 191 + "line_number": 192 } ], "score": 0.28 @@ -67237,8 +68792,8 @@ "name": "delete_environment", "type": "Function", "tier": "STANDARD", - "start_line": 228, - "end_line": 242, + "start_line": 229, + "end_line": 243, "tags": { "PURPOSE": "Deletes a Superset environment.", "PRE": "ID is provided.", @@ -67253,22 +68808,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 228 + "line_number": 229 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 228 + "line_number": 229 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 228 + "line_number": 229 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 228 + "line_number": 229 } ], "score": 0.28 @@ -67278,8 +68833,8 @@ "name": "test_environment_connection", "type": "Function", "tier": "STANDARD", - "start_line": 244, - "end_line": 271, + "start_line": 245, + "end_line": 272, "tags": { "PURPOSE": "Tests the connection to a Superset environment.", "PRE": "ID is provided.", @@ -67295,22 +68850,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 245 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 245 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 245 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 245 } ], "score": 0.28 @@ -67320,8 +68875,8 @@ "name": "get_logging_config", "type": "Function", "tier": "STANDARD", - "start_line": 273, - "end_line": 290, + "start_line": 274, + "end_line": 291, "tags": { "PURPOSE": "Retrieves current logging configuration.", "PRE": "Config manager is available.", @@ -67336,22 +68891,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 273 + "line_number": 274 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 273 + "line_number": 274 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 273 + "line_number": 274 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 273 + "line_number": 274 } ], "score": 0.28 @@ -67361,8 +68916,8 @@ "name": "update_logging_config", "type": "Function", "tier": "STANDARD", - "start_line": 292, - "end_line": 317, + "start_line": 293, + "end_line": 318, "tags": { "PURPOSE": "Updates logging configuration.", "PRE": "New logging config is provided.", @@ -67378,22 +68933,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 292 + "line_number": 293 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 292 + "line_number": 293 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 292 + "line_number": 293 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 292 + "line_number": 293 } ], "score": 0.28 @@ -67403,8 +68958,8 @@ "name": "ConsolidatedSettingsResponse", "type": "Class", "tier": "STANDARD", - "start_line": 319, - "end_line": 328, + "start_line": 320, + "end_line": 329, "tags": {}, "relations": [], "children": [], @@ -67414,22 +68969,22 @@ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 319 + "line_number": 320 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 319 + "line_number": 320 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 319 + "line_number": 320 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", - "line_number": 319 + "line_number": 320 } ], "score": 0.10000000000000003 @@ -67439,8 +68994,8 @@ "name": "get_consolidated_settings", "type": "Function", "tier": "STANDARD", - "start_line": 330, - "end_line": 376, + "start_line": 331, + "end_line": 382, "tags": { "PURPOSE": "Retrieves all settings categories in a single call", "PRE": "Config manager is available.", @@ -67455,22 +69010,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 330 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 330 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 330 + "line_number": 331 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 330 + "line_number": 331 } ], "score": 0.28 @@ -67480,8 +69035,8 @@ "name": "update_consolidated_settings", "type": "Function", "tier": "STANDARD", - "start_line": 378, - "end_line": 421, + "start_line": 384, + "end_line": 427, "tags": { "PURPOSE": "Bulk update application settings from the consolidated view.", "PRE": "User has admin permissions, config is valid.", @@ -67495,22 +69050,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 384 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 384 } ], "score": 0.28 @@ -67520,8 +69075,8 @@ "name": "get_validation_policies", "type": "Function", "tier": "STANDARD", - "start_line": 423, - "end_line": 433, + "start_line": 429, + "end_line": 439, "tags": { "PURPOSE": "Lists all validation policies.", "RETURN": "List[ValidationPolicyResponse] - List of policies." @@ -67534,42 +69089,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 423 + "line_number": 429 } ], "score": 0.0 @@ -67579,8 +69134,8 @@ "name": "create_validation_policy", "type": "Function", "tier": "STANDARD", - "start_line": 435, - "end_line": 451, + "start_line": 441, + "end_line": 457, "tags": { "PURPOSE": "Creates a new validation policy.", "PARAM": "policy (ValidationPolicyCreate) - The policy data.", @@ -67594,42 +69149,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 435 + "line_number": 441 } ], "score": 0.0 @@ -67639,8 +69194,8 @@ "name": "update_validation_policy", "type": "Function", "tier": "STANDARD", - "start_line": 453, - "end_line": 477, + "start_line": 459, + "end_line": 483, "tags": { "PURPOSE": "Updates an existing validation policy.", "PARAM": "policy (ValidationPolicyUpdate) - The updated policy data.", @@ -67654,42 +69209,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 453 + "line_number": 459 } ], "score": 0.0 @@ -67699,8 +69254,8 @@ "name": "delete_validation_policy", "type": "Function", "tier": "STANDARD", - "start_line": 479, - "end_line": 496, + "start_line": 485, + "end_line": 502, "tags": { "PURPOSE": "Deletes a validation policy.", "PARAM": "id (str) - The ID of the policy to delete." @@ -67713,42 +69268,42 @@ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 485 } ], "score": 0.0 @@ -67764,7 +69319,7 @@ "line_number": 1 }, { - "message": "Fractal limit warning: Module length is 498 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 504 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -72849,7 +74404,7 @@ "type": "Module", "tier": "CRITICAL", "start_line": 1, - "end_line": 1196, + "end_line": 1223, "tags": { "TIER": "CRITICAL", "SEMANTICS": "api, dashboards, resources, hub", @@ -72926,7 +74481,7 @@ "type": "DataClass", "tier": "STANDARD", "start_line": 95, - "end_line": 102, + "end_line": 104, "tags": {}, "relations": [], "children": [], @@ -72940,8 +74495,8 @@ "name": "DashboardsResponse", "type": "DataClass", "tier": "STANDARD", - "start_line": 104, - "end_line": 112, + "start_line": 106, + "end_line": 114, "tags": {}, "relations": [], "children": [], @@ -72955,8 +74510,8 @@ "name": "DashboardChartItem", "type": "DataClass", "tier": "STANDARD", - "start_line": 114, - "end_line": 122, + "start_line": 116, + "end_line": 124, "tags": {}, "relations": [], "children": [], @@ -72970,8 +74525,8 @@ "name": "DashboardDatasetItem", "type": "DataClass", "tier": "STANDARD", - "start_line": 124, - "end_line": 132, + "start_line": 126, + "end_line": 134, "tags": {}, "relations": [], "children": [], @@ -72985,8 +74540,8 @@ "name": "DashboardDetailResponse", "type": "DataClass", "tier": "STANDARD", - "start_line": 134, - "end_line": 147, + "start_line": 136, + "end_line": 149, "tags": {}, "relations": [], "children": [], @@ -73000,8 +74555,8 @@ "name": "DashboardTaskHistoryItem", "type": "DataClass", "tier": "STANDARD", - "start_line": 149, - "end_line": 159, + "start_line": 151, + "end_line": 161, "tags": {}, "relations": [], "children": [], @@ -73015,8 +74570,8 @@ "name": "DashboardTaskHistoryResponse", "type": "DataClass", "tier": "STANDARD", - "start_line": 161, - "end_line": 165, + "start_line": 163, + "end_line": 167, "tags": {}, "relations": [], "children": [], @@ -73030,8 +74585,8 @@ "name": "DatabaseMapping", "type": "DataClass", "tier": "STANDARD", - "start_line": 167, - "end_line": 174, + "start_line": 169, + "end_line": 176, "tags": {}, "relations": [], "children": [], @@ -73045,8 +74600,8 @@ "name": "DatabaseMappingsResponse", "type": "DataClass", "tier": "STANDARD", - "start_line": 176, - "end_line": 179, + "start_line": 178, + "end_line": 181, "tags": {}, "relations": [], "children": [], @@ -73060,8 +74615,8 @@ "name": "_find_dashboard_id_by_slug", "type": "Function", "tier": "STANDARD", - "start_line": 182, - "end_line": 206, + "start_line": 184, + "end_line": 208, "tags": { "PURPOSE": "Resolve dashboard numeric ID by slug using Superset list endpoint.", "PRE": "`dashboard_slug` is non-empty.", @@ -73075,32 +74630,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 182 + "line_number": 184 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 182 + "line_number": 184 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 182 + "line_number": 184 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 182 + "line_number": 184 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 182 + "line_number": 184 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 182 + "line_number": 184 } ], "score": 0.0 @@ -73110,8 +74665,8 @@ "name": "_resolve_dashboard_id_from_ref", "type": "Function", "tier": "STANDARD", - "start_line": 209, - "end_line": 230, + "start_line": 211, + "end_line": 232, "tags": { "PURPOSE": "Resolve dashboard ID from slug-first reference with numeric fallback.", "PRE": "`dashboard_ref` is provided in route path.", @@ -73125,32 +74680,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 209 + "line_number": 211 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 209 + "line_number": 211 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 209 + "line_number": 211 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 209 + "line_number": 211 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 209 + "line_number": 211 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 209 + "line_number": 211 } ], "score": 0.0 @@ -73160,8 +74715,8 @@ "name": "_find_dashboard_id_by_slug_async", "type": "Function", "tier": "STANDARD", - "start_line": 233, - "end_line": 257, + "start_line": 235, + "end_line": 259, "tags": { "PURPOSE": "Resolve dashboard numeric ID by slug using async Superset list endpoint.", "PRE": "dashboard_slug is non-empty.", @@ -73175,32 +74730,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 235 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 235 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 235 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 235 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 235 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 235 } ], "score": 0.0 @@ -73210,8 +74765,8 @@ "name": "_resolve_dashboard_id_from_ref_async", "type": "Function", "tier": "STANDARD", - "start_line": 260, - "end_line": 280, + "start_line": 262, + "end_line": 282, "tags": { "PURPOSE": "Resolve dashboard ID from slug-first reference using async Superset client.", "PRE": "dashboard_ref is provided in route path.", @@ -73225,32 +74780,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 260 + "line_number": 262 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 260 + "line_number": 262 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 260 + "line_number": 262 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 260 + "line_number": 262 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 260 + "line_number": 262 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 260 + "line_number": 262 } ], "score": 0.0 @@ -73260,8 +74815,8 @@ "name": "_normalize_filter_values", "type": "Function", "tier": "STANDARD", - "start_line": 283, - "end_line": 296, + "start_line": 285, + "end_line": 298, "tags": { "PURPOSE": "Normalize query filter values to lower-cased non-empty tokens.", "PRE": "values may be None or list of strings.", @@ -73275,32 +74830,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 283 + "line_number": 285 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 283 + "line_number": 285 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 283 + "line_number": 285 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 283 + "line_number": 285 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 283 + "line_number": 285 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 283 + "line_number": 285 } ], "score": 0.0 @@ -73310,8 +74865,8 @@ "name": "_dashboard_git_filter_value", "type": "Function", "tier": "STANDARD", - "start_line": 299, - "end_line": 316, + "start_line": 301, + "end_line": 318, "tags": { "PURPOSE": "Build comparable git status token for dashboards filtering.", "PRE": "dashboard payload may contain git_status or None.", @@ -73325,32 +74880,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 299 + "line_number": 301 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 299 + "line_number": 301 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 299 + "line_number": 301 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 299 + "line_number": 301 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 299 + "line_number": 301 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 299 + "line_number": 301 } ], "score": 0.0 @@ -73360,8 +74915,8 @@ "name": "_normalize_actor_alias_token", "type": "Function", "tier": "STANDARD", - "start_line": 318, - "end_line": 325, + "start_line": 320, + "end_line": 327, "tags": { "PURPOSE": "Normalize actor alias token to comparable trim+lower text.", "PRE": "value can be scalar/None.", @@ -73375,32 +74930,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 318 + "line_number": 320 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 318 + "line_number": 320 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 318 + "line_number": 320 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 318 + "line_number": 320 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 318 + "line_number": 320 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 318 + "line_number": 320 } ], "score": 0.0 @@ -73410,8 +74965,8 @@ "name": "_normalize_owner_display_token", "type": "Function", "tier": "STANDARD", - "start_line": 328, - "end_line": 351, + "start_line": 330, + "end_line": 353, "tags": { "PURPOSE": "Project owner payload value into stable display string for API response contracts.", "PRE": "owner can be scalar, dict or None.", @@ -73425,32 +74980,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 328 + "line_number": 330 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 328 + "line_number": 330 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 328 + "line_number": 330 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 328 + "line_number": 330 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 328 + "line_number": 330 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 328 + "line_number": 330 } ], "score": 0.0 @@ -73460,8 +75015,8 @@ "name": "_normalize_dashboard_owner_values", "type": "Function", "tier": "STANDARD", - "start_line": 354, - "end_line": 375, + "start_line": 356, + "end_line": 377, "tags": { "PURPOSE": "Normalize dashboard owners payload to optional list of display strings.", "PRE": "owners payload can be None, scalar, or list with mixed values.", @@ -73475,32 +75030,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 354 + "line_number": 356 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 354 + "line_number": 356 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 354 + "line_number": 356 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 354 + "line_number": 356 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 354 + "line_number": 356 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 354 + "line_number": 356 } ], "score": 0.0 @@ -73510,8 +75065,8 @@ "name": "_project_dashboard_response_items", "type": "Function", "tier": "STANDARD", - "start_line": 378, - "end_line": 391, + "start_line": 380, + "end_line": 393, "tags": { "PURPOSE": "Project dashboard payloads to response-contract-safe shape.", "PRE": "dashboards is a list of dict-like dashboard payloads.", @@ -73525,32 +75080,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 380 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 380 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 380 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 380 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 380 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 378 + "line_number": 380 } ], "score": 0.0 @@ -73560,8 +75115,8 @@ "name": "_resolve_profile_actor_aliases", "type": "Function", "tier": "STANDARD", - "start_line": 394, - "end_line": 455, + "start_line": 396, + "end_line": 457, "tags": { "PURPOSE": "Resolve stable actor aliases for profile filtering without per-dashboard detail fan-out.", "PRE": "bound username is available and env is valid.", @@ -73576,12 +75131,12 @@ { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 394 + "line_number": 396 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 394 + "line_number": 396 } ], "score": 0.64 @@ -73591,8 +75146,8 @@ "name": "_matches_dashboard_actor_aliases", "type": "Function", "tier": "STANDARD", - "start_line": 458, - "end_line": 476, + "start_line": 460, + "end_line": 478, "tags": { "PURPOSE": "Apply profile actor matching against multiple aliases (username + optional display name).", "PRE": "actor_aliases contains normalized non-empty tokens.", @@ -73606,32 +75161,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 460 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 460 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 460 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 460 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 460 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 458 + "line_number": 460 } ], "score": 0.0 @@ -73641,8 +75196,8 @@ "name": "get_dashboards", "type": "Function", "tier": "STANDARD", - "start_line": 479, - "end_line": 754, + "start_line": 481, + "end_line": 781, "tags": { "PURPOSE": "Fetch list of dashboards from a specific environment with Git status and last task status", "PRE": "page_size must be between 1 and 100 if provided", @@ -73663,22 +75218,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 481 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 481 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 481 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 479 + "line_number": 481 } ], "score": 0.28 @@ -73688,8 +75243,8 @@ "name": "get_database_mappings", "type": "Function", "tier": "STANDARD", - "start_line": 756, - "end_line": 809, + "start_line": 783, + "end_line": 836, "tags": { "PURPOSE": "Get database mapping suggestions between source and target environments", "PRE": "source_env_id and target_env_id are valid environment IDs", @@ -73710,22 +75265,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 756 + "line_number": 783 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 756 + "line_number": 783 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 756 + "line_number": 783 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 756 + "line_number": 783 } ], "score": 0.28 @@ -73735,8 +75290,8 @@ "name": "get_dashboard_detail", "type": "Function", "tier": "STANDARD", - "start_line": 811, - "end_line": 845, + "start_line": 838, + "end_line": 872, "tags": { "PURPOSE": "Fetch detailed dashboard info with related charts and datasets", "PRE": "env_id must be valid and dashboard ref (slug or id) must exist", @@ -73755,22 +75310,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 811 + "line_number": 838 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 811 + "line_number": 838 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 811 + "line_number": 838 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 811 + "line_number": 838 } ], "score": 0.28 @@ -73780,8 +75335,8 @@ "name": "_task_matches_dashboard", "type": "Function", "tier": "STANDARD", - "start_line": 848, - "end_line": 878, + "start_line": 875, + "end_line": 905, "tags": { "PURPOSE": "Checks whether task params are tied to a specific dashboard and environment.", "PRE": "task-like object exposes plugin_id and params fields.", @@ -73795,32 +75350,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 875 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 875 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 875 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 875 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 875 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 848 + "line_number": 875 } ], "score": 0.0 @@ -73830,8 +75385,8 @@ "name": "get_dashboard_tasks_history", "type": "Function", "tier": "STANDARD", - "start_line": 881, - "end_line": 964, + "start_line": 908, + "end_line": 991, "tags": { "PURPOSE": "Returns history of backup and LLM validation tasks for a dashboard.", "PRE": "dashboard ref (slug or id) is valid.", @@ -73845,22 +75400,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 881 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 881 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 881 + "line_number": 908 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 881 + "line_number": 908 } ], "score": 0.28 @@ -73870,8 +75425,8 @@ "name": "get_dashboard_thumbnail", "type": "Function", "tier": "STANDARD", - "start_line": 967, - "end_line": 1058, + "start_line": 994, + "end_line": 1085, "tags": { "PURPOSE": "Proxies Superset dashboard thumbnail with cache support.", "PRE": "env_id must exist.", @@ -73885,22 +75440,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 967 + "line_number": 994 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 967 + "line_number": 994 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 967 + "line_number": 994 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 967 + "line_number": 994 } ], "score": 0.28 @@ -73910,8 +75465,8 @@ "name": "MigrateRequest", "type": "DataClass", "tier": "STANDARD", - "start_line": 1060, - "end_line": 1067, + "start_line": 1087, + "end_line": 1094, "tags": {}, "relations": [], "children": [], @@ -73925,8 +75480,8 @@ "name": "TaskResponse", "type": "DataClass", "tier": "STANDARD", - "start_line": 1069, - "end_line": 1072, + "start_line": 1096, + "end_line": 1099, "tags": {}, "relations": [], "children": [], @@ -73940,8 +75495,8 @@ "name": "migrate_dashboards", "type": "Function", "tier": "STANDARD", - "start_line": 1074, - "end_line": 1132, + "start_line": 1101, + "end_line": 1159, "tags": { "PURPOSE": "Trigger bulk migration of dashboards from source to target environment", "PRE": "dashboard_ids is a non-empty list", @@ -73966,22 +75521,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1074 + "line_number": 1101 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1074 + "line_number": 1101 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1074 + "line_number": 1101 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1074 + "line_number": 1101 } ], "score": 0.28 @@ -73991,8 +75546,8 @@ "name": "BackupRequest", "type": "DataClass", "tier": "STANDARD", - "start_line": 1134, - "end_line": 1139, + "start_line": 1161, + "end_line": 1166, "tags": {}, "relations": [], "children": [], @@ -74006,8 +75561,8 @@ "name": "backup_dashboards", "type": "Function", "tier": "STANDARD", - "start_line": 1141, - "end_line": 1194, + "start_line": 1168, + "end_line": 1221, "tags": { "PURPOSE": "Trigger bulk backup of dashboards with optional cron schedule", "PRE": "dashboard_ids is a non-empty list", @@ -74032,22 +75587,22 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1141 + "line_number": 1168 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1141 + "line_number": 1168 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1141 + "line_number": 1168 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 1141 + "line_number": 1168 } ], "score": 0.28 @@ -74057,8 +75612,8 @@ "name": "_matches_dashboard_filters", "type": "Function", "tier": "TRIVIAL", - "start_line": 685, - "end_line": 685, + "start_line": 712, + "end_line": 712, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -74075,8 +75630,8 @@ "name": "_sort_key", "type": "Function", "tier": "TRIVIAL", - "start_line": 922, - "end_line": 922, + "start_line": 949, + "end_line": 949, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -74094,7 +75649,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 1196 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 1223 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -78373,7 +79928,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 293, + "end_line": 298, "tags": { "TIER": "STANDARD", "SEMANTICS": "tests, profile, api, preferences, lookup, contract", @@ -78492,7 +80047,7 @@ "type": "Function", "tier": "STANDARD", "start_line": 71, - "end_line": 107, + "end_line": 108, "tags": { "PURPOSE": "Builds stable profile preference response payload for route tests.", "PRE": "user_id is provided.", @@ -78541,8 +80096,8 @@ "name": "test_get_profile_preferences_returns_self_payload", "type": "Function", "tier": "STANDARD", - "start_line": 110, - "end_line": 138, + "start_line": 111, + "end_line": 140, "tags": { "PURPOSE": "Verifies GET /api/profile/preferences returns stable self-scoped payload.", "PRE": "Authenticated user context is available.", @@ -78556,32 +80111,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 110 + "line_number": 111 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 110 + "line_number": 111 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 110 + "line_number": 111 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 110 + "line_number": 111 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 110 + "line_number": 111 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 110 + "line_number": 111 } ], "score": 0.0 @@ -78591,8 +80146,8 @@ "name": "test_patch_profile_preferences_success", "type": "Function", "tier": "STANDARD", - "start_line": 141, - "end_line": 185, + "start_line": 143, + "end_line": 190, "tags": { "PURPOSE": "Verifies PATCH /api/profile/preferences persists valid payload through route mapping.", "PRE": "Valid request payload and authenticated user.", @@ -78606,32 +80161,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 141 + "line_number": 143 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 141 + "line_number": 143 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 141 + "line_number": 143 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 141 + "line_number": 143 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 141 + "line_number": 143 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 141 + "line_number": 143 } ], "score": 0.0 @@ -78641,8 +80196,8 @@ "name": "test_patch_profile_preferences_validation_error", "type": "Function", "tier": "STANDARD", - "start_line": 188, - "end_line": 211, + "start_line": 193, + "end_line": 216, "tags": { "PURPOSE": "Verifies route maps domain validation failure to HTTP 422 with actionable details.", "PRE": "Service raises ProfileValidationError.", @@ -78656,32 +80211,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 188 + "line_number": 193 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 188 + "line_number": 193 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 188 + "line_number": 193 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 188 + "line_number": 193 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 188 + "line_number": 193 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 188 + "line_number": 193 } ], "score": 0.0 @@ -78691,8 +80246,8 @@ "name": "test_patch_profile_preferences_cross_user_denied", "type": "Function", "tier": "STANDARD", - "start_line": 214, - "end_line": 236, + "start_line": 219, + "end_line": 241, "tags": { "PURPOSE": "Verifies route maps domain authorization guard failure to HTTP 403.", "PRE": "Service raises ProfileAuthorizationError.", @@ -78706,32 +80261,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 214 + "line_number": 219 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 214 + "line_number": 219 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 214 + "line_number": 219 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 214 + "line_number": 219 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 214 + "line_number": 219 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 214 + "line_number": 219 } ], "score": 0.0 @@ -78741,8 +80296,8 @@ "name": "test_lookup_superset_accounts_success", "type": "Function", "tier": "STANDARD", - "start_line": 239, - "end_line": 272, + "start_line": 244, + "end_line": 277, "tags": { "PURPOSE": "Verifies lookup route returns success payload with normalized candidates.", "PRE": "Valid environment_id and service success response.", @@ -78756,32 +80311,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 239 + "line_number": 244 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 239 + "line_number": 244 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 239 + "line_number": 244 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 239 + "line_number": 244 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 239 + "line_number": 244 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 239 + "line_number": 244 } ], "score": 0.0 @@ -78791,8 +80346,8 @@ "name": "test_lookup_superset_accounts_env_not_found", "type": "Function", "tier": "STANDARD", - "start_line": 275, - "end_line": 291, + "start_line": 280, + "end_line": 296, "tags": { "PURPOSE": "Verifies lookup route maps missing environment to HTTP 404.", "PRE": "Service raises EnvironmentNotFoundError.", @@ -78806,32 +80361,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 275 + "line_number": 280 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 275 + "line_number": 280 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 275 + "line_number": 280 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 275 + "line_number": 280 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 275 + "line_number": 280 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 275 + "line_number": 280 } ], "score": 0.0 @@ -84870,7 +86425,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 59, + "end_line": 60, "tags": { "TIER": "STANDARD", "SEMANTICS": "profile, preferences, persistence, user, dashboard-filter, git, ui-preferences, sqlalchemy", @@ -84894,7 +86449,7 @@ "type": "Class", "tier": "STANDARD", "start_line": 22, - "end_line": 57, + "end_line": 58, "tags": { "TIER": "STANDARD", "PURPOSE": "Stores Superset username binding and default \"my dashboards\" toggle for one authenticated user." @@ -84920,6 +86475,23 @@ "score": 0.79 } }, + { + "name": "src.models", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Domain model package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "test_models", "type": "Module", @@ -85700,7 +87272,7 @@ "type": "Module", "tier": "CRITICAL", "start_line": 1, - "end_line": 712, + "end_line": 727, "tags": { "TIER": "CRITICAL", "SEMANTICS": "profile, service, validation, ownership, filtering, superset, preferences", @@ -85798,7 +87370,7 @@ "type": "Class", "tier": "CRITICAL", "start_line": 79, - "end_line": 710, + "end_line": 725, "tags": { "TIER": "CRITICAL", "PURPOSE": "Implements profile preference read/update flow and Superset account lookup degradation strategy." @@ -85910,7 +87482,7 @@ "type": "Function", "tier": "STANDARD", "start_line": 120, - "end_line": 242, + "end_line": 251, "tags": { "PURPOSE": "Validate and persist current user's profile preference in self-scoped mode.", "PRE": "current_user is authenticated and payload is provided.", @@ -85959,8 +87531,8 @@ "name": "lookup_superset_accounts", "type": "Function", "tier": "STANDARD", - "start_line": 244, - "end_line": 318, + "start_line": 253, + "end_line": 327, "tags": { "PURPOSE": "Query Superset users in selected environment and project canonical account candidates.", "PRE": "current_user is authenticated and environment_id exists.", @@ -85974,32 +87546,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 253 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 253 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 253 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 253 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 253 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 244 + "line_number": 253 } ], "score": 0.0 @@ -86009,8 +87581,8 @@ "name": "matches_dashboard_actor", "type": "Function", "tier": "STANDARD", - "start_line": 320, - "end_line": 342, + "start_line": 329, + "end_line": 351, "tags": { "PURPOSE": "Apply trim+case-insensitive actor match across owners OR modified_by.", "PRE": "bound_username can be empty; owners may contain mixed payload.", @@ -86024,47 +87596,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 320 + "line_number": 329 } ], "score": 0.0 @@ -86074,8 +87646,8 @@ "name": "_build_security_summary", "type": "Function", "tier": "STANDARD", - "start_line": 344, - "end_line": 402, + "start_line": 353, + "end_line": 411, "tags": { "PURPOSE": "Build read-only security snapshot with role and permission badges.", "PRE": "current_user is authenticated.", @@ -86089,47 +87661,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 344 + "line_number": 353 } ], "score": 0.0 @@ -86139,8 +87711,8 @@ "name": "_collect_user_permission_pairs", "type": "Function", "tier": "STANDARD", - "start_line": 404, - "end_line": 419, + "start_line": 413, + "end_line": 428, "tags": { "PURPOSE": "Collect effective permission tuples from current user's roles.", "PRE": "current_user can include role/permission graph.", @@ -86154,47 +87726,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 404 + "line_number": 413 } ], "score": 0.0 @@ -86204,8 +87776,8 @@ "name": "_format_permission_key", "type": "Function", "tier": "STANDARD", - "start_line": 421, - "end_line": 431, + "start_line": 430, + "end_line": 440, "tags": { "PURPOSE": "Convert normalized permission pair to compact UI key.", "PRE": "resource and action are normalized.", @@ -86219,47 +87791,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 421 + "line_number": 430 } ], "score": 0.0 @@ -86269,8 +87841,8 @@ "name": "_to_preference_payload", "type": "Function", "tier": "STANDARD", - "start_line": 433, - "end_line": 482, + "start_line": 442, + "end_line": 496, "tags": { "PURPOSE": "Map ORM preference row to API DTO with token metadata.", "PRE": "preference row can contain nullable optional fields.", @@ -86284,47 +87856,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 433 + "line_number": 442 } ], "score": 0.0 @@ -86334,8 +87906,8 @@ "name": "_mask_secret_value", "type": "Function", "tier": "STANDARD", - "start_line": 484, - "end_line": 495, + "start_line": 498, + "end_line": 509, "tags": { "PURPOSE": "Build a safe display value for sensitive secrets.", "PRE": "secret may be None or plaintext.", @@ -86349,47 +87921,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 484 + "line_number": 498 } ], "score": 0.0 @@ -86399,8 +87971,8 @@ "name": "_sanitize_text", "type": "Function", "tier": "STANDARD", - "start_line": 497, - "end_line": 506, + "start_line": 511, + "end_line": 520, "tags": { "PURPOSE": "Normalize optional text into trimmed form or None.", "PRE": "value may be empty or None.", @@ -86414,47 +87986,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 497 + "line_number": 511 } ], "score": 0.0 @@ -86464,8 +88036,8 @@ "name": "_sanitize_secret", "type": "Function", "tier": "STANDARD", - "start_line": 508, - "end_line": 519, + "start_line": 522, + "end_line": 533, "tags": { "PURPOSE": "Normalize secret input into trimmed form or None.", "PRE": "value may be None or blank.", @@ -86479,47 +88051,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 508 + "line_number": 522 } ], "score": 0.0 @@ -86529,8 +88101,8 @@ "name": "_normalize_start_page", "type": "Function", "tier": "STANDARD", - "start_line": 521, - "end_line": 532, + "start_line": 535, + "end_line": 546, "tags": { "PURPOSE": "Normalize supported start page aliases to canonical values.", "PRE": "value may be None or alias.", @@ -86544,47 +88116,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 521 + "line_number": 535 } ], "score": 0.0 @@ -86594,8 +88166,8 @@ "name": "_normalize_density", "type": "Function", "tier": "STANDARD", - "start_line": 534, - "end_line": 545, + "start_line": 548, + "end_line": 559, "tags": { "PURPOSE": "Normalize supported density aliases to canonical values.", "PRE": "value may be None or alias.", @@ -86609,47 +88181,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 534 + "line_number": 548 } ], "score": 0.0 @@ -86659,8 +88231,8 @@ "name": "_resolve_environment", "type": "Function", "tier": "STANDARD", - "start_line": 547, - "end_line": 557, + "start_line": 561, + "end_line": 571, "tags": { "PURPOSE": "Resolve environment model from configured environments by id.", "PRE": "environment_id is provided.", @@ -86674,47 +88246,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 547 + "line_number": 561 } ], "score": 0.0 @@ -86724,8 +88296,8 @@ "name": "_get_preference_row", "type": "Function", "tier": "STANDARD", - "start_line": 559, - "end_line": 565, + "start_line": 573, + "end_line": 579, "tags": { "PURPOSE": "Return persisted preference row for user or None.", "PRE": "user_id is provided.", @@ -86739,47 +88311,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 559 + "line_number": 573 } ], "score": 0.0 @@ -86789,8 +88361,8 @@ "name": "_get_or_create_preference_row", "type": "Function", "tier": "STANDARD", - "start_line": 567, - "end_line": 576, + "start_line": 581, + "end_line": 590, "tags": { "PURPOSE": "Return existing preference row or create new unsaved row.", "PRE": "user_id is provided.", @@ -86804,47 +88376,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 567 + "line_number": 581 } ], "score": 0.0 @@ -86854,8 +88426,8 @@ "name": "_build_default_preference", "type": "Function", "tier": "STANDARD", - "start_line": 578, - "end_line": 602, + "start_line": 592, + "end_line": 617, "tags": { "PURPOSE": "Build non-persisted default preference DTO for unconfigured users.", "PRE": "user_id is provided.", @@ -86869,47 +88441,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 578 + "line_number": 592 } ], "score": 0.0 @@ -86919,8 +88491,8 @@ "name": "_validate_update_payload", "type": "Function", "tier": "STANDARD", - "start_line": 604, - "end_line": 654, + "start_line": 619, + "end_line": 669, "tags": { "PURPOSE": "Validate username/toggle constraints for preference mutation.", "PRE": "payload is provided.", @@ -86934,47 +88506,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 604 + "line_number": 619 } ], "score": 0.0 @@ -86984,8 +88556,8 @@ "name": "_sanitize_username", "type": "Function", "tier": "STANDARD", - "start_line": 656, - "end_line": 662, + "start_line": 671, + "end_line": 677, "tags": { "PURPOSE": "Normalize raw username into trimmed form or None for empty input.", "PRE": "value can be empty or None.", @@ -86999,47 +88571,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 656 + "line_number": 671 } ], "score": 0.0 @@ -87049,8 +88621,8 @@ "name": "_normalize_username", "type": "Function", "tier": "STANDARD", - "start_line": 664, - "end_line": 673, + "start_line": 679, + "end_line": 688, "tags": { "PURPOSE": "Apply deterministic trim+lower normalization for actor matching.", "PRE": "value can be empty or None.", @@ -87064,47 +88636,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 664 + "line_number": 679 } ], "score": 0.0 @@ -87114,8 +88686,8 @@ "name": "_normalize_owner_tokens", "type": "Function", "tier": "STANDARD", - "start_line": 675, - "end_line": 709, + "start_line": 690, + "end_line": 724, "tags": { "PURPOSE": "Normalize owners payload into deduplicated lower-cased tokens.", "PRE": "owners can be iterable of scalars or dict-like values.", @@ -87129,47 +88701,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 675 + "line_number": 690 } ], "score": 0.0 @@ -87226,7 +88798,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 712 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 727 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -87239,7 +88811,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 443, + "end_line": 446, "tags": { "TIER": "STANDARD", "SEMANTICS": "service, resources, dashboards, datasets, tasks, git", @@ -87267,7 +88839,7 @@ "type": "Class", "tier": "STANDARD", "start_line": 20, - "end_line": 442, + "end_line": 445, "tags": { "PURPOSE": "Provides centralized access to resource data with enhanced metadata" }, @@ -87328,7 +88900,7 @@ "type": "Function", "tier": "STANDARD", "start_line": 34, - "end_line": 80, + "end_line": 81, "tags": { "PURPOSE": "Fetch dashboards from environment with Git status and last task status", "PRE": "env is a valid Environment object", @@ -87392,8 +88964,8 @@ "name": "get_dashboards_page_with_status", "type": "Function", "tier": "STANDARD", - "start_line": 82, - "end_line": 141, + "start_line": 83, + "end_line": 144, "tags": { "PURPOSE": "Fetch one dashboard page from environment and enrich only that page with status metadata.", "PRE": "env is valid; page >= 1; page_size > 0.", @@ -87409,32 +88981,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 82 + "line_number": 83 } ], "score": 0.0 @@ -87444,8 +89016,8 @@ "name": "_get_last_llm_task_for_dashboard", "type": "Function", "tier": "STANDARD", - "start_line": 143, - "end_line": 200, + "start_line": 146, + "end_line": 203, "tags": { "PURPOSE": "Get most recent LLM validation task for a dashboard in an environment", "PRE": "dashboard_id is a valid integer identifier", @@ -87461,47 +89033,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 143 + "line_number": 146 } ], "score": 0.0 @@ -87511,8 +89083,8 @@ "name": "_normalize_task_status", "type": "Function", "tier": "STANDARD", - "start_line": 202, - "end_line": 216, + "start_line": 205, + "end_line": 219, "tags": { "PURPOSE": "Normalize task status to stable uppercase values for UI/API projections", "PRE": "raw_status can be enum or string", @@ -87528,47 +89100,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 202 + "line_number": 205 } ], "score": 0.0 @@ -87578,8 +89150,8 @@ "name": "_normalize_validation_status", "type": "Function", "tier": "STANDARD", - "start_line": 218, - "end_line": 231, + "start_line": 221, + "end_line": 234, "tags": { "PURPOSE": "Normalize LLM validation status to PASS/FAIL/WARN/UNKNOWN", "PRE": "raw_status can be any scalar type", @@ -87595,47 +89167,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 218 + "line_number": 221 } ], "score": 0.0 @@ -87645,8 +89217,8 @@ "name": "_normalize_datetime_for_compare", "type": "Function", "tier": "STANDARD", - "start_line": 233, - "end_line": 245, + "start_line": 236, + "end_line": 248, "tags": { "PURPOSE": "Normalize datetime values to UTC-aware values for safe comparisons.", "PRE": "value may be datetime or any scalar.", @@ -87662,47 +89234,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 233 + "line_number": 236 } ], "score": 0.0 @@ -87712,8 +89284,8 @@ "name": "get_datasets_with_status", "type": "Function", "tier": "STANDARD", - "start_line": 247, - "end_line": 283, + "start_line": 250, + "end_line": 286, "tags": { "PURPOSE": "Fetch datasets from environment with mapping progress and last task status", "PRE": "env is a valid Environment object", @@ -87738,32 +89310,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 247 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 247 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 247 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 247 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 247 + "line_number": 250 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 247 + "line_number": 250 } ], "score": 0.0 @@ -87773,8 +89345,8 @@ "name": "get_activity_summary", "type": "Function", "tier": "STANDARD", - "start_line": 285, - "end_line": 322, + "start_line": 288, + "end_line": 325, "tags": { "PURPOSE": "Get summary of active and recent tasks for the activity indicator", "PRE": "tasks is a list of Task objects", @@ -87790,32 +89362,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 288 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 288 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 288 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 288 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 288 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 285 + "line_number": 288 } ], "score": 0.0 @@ -87825,8 +89397,8 @@ "name": "_get_git_status_for_dashboard", "type": "Function", "tier": "STANDARD", - "start_line": 324, - "end_line": 381, + "start_line": 327, + "end_line": 384, "tags": { "PURPOSE": "Get Git sync status for a dashboard", "PRE": "dashboard_id is a valid integer", @@ -87847,47 +89419,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 324 + "line_number": 327 } ], "score": 0.0 @@ -87897,8 +89469,8 @@ "name": "_get_last_task_for_resource", "type": "Function", "tier": "STANDARD", - "start_line": 383, - "end_line": 418, + "start_line": 386, + "end_line": 421, "tags": { "PURPOSE": "Get the most recent task for a specific resource", "PRE": "resource_id is a valid string", @@ -87914,47 +89486,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 383 + "line_number": 386 } ], "score": 0.0 @@ -87964,8 +89536,8 @@ "name": "_extract_resource_name_from_task", "type": "Function", "tier": "STANDARD", - "start_line": 420, - "end_line": 429, + "start_line": 423, + "end_line": 432, "tags": { "PURPOSE": "Extract resource name from task params", "PRE": "task is a valid Task object", @@ -87981,47 +89553,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 420 + "line_number": 423 } ], "score": 0.0 @@ -88031,8 +89603,8 @@ "name": "_extract_resource_type_from_task", "type": "Function", "tier": "STANDARD", - "start_line": 431, - "end_line": 440, + "start_line": 434, + "end_line": 443, "tags": { "PURPOSE": "Extract resource type from task params", "PRE": "task is a valid Task object", @@ -88048,47 +89620,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 431 + "line_number": 434 } ], "score": 0.0 @@ -88116,8 +89688,8 @@ "name": "_task_time", "type": "Function", "tier": "TRIVIAL", - "start_line": 181, - "end_line": 181, + "start_line": 184, + "end_line": 184, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -88135,7 +89707,7 @@ "valid": true, "issues": [ { - "message": "Fractal limit warning: Module length is 443 lines (must be < 300)", + "message": "Fractal limit warning: Module length is 446 lines (must be < 300)", "severity": "WARNING", "line_number": 1 } @@ -88495,7 +90067,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 183, + "end_line": 200, "tags": { "TIER": "STANDARD", "SEMANTICS": "service, llm, provider, encryption", @@ -88513,16 +90085,117 @@ } ], "children": [ + { + "name": "_require_fernet_key", + "type": "Function", + "tier": "CRITICAL", + "start_line": 19, + "end_line": 32, + "tags": { + "TIER": "CRITICAL", + "PURPOSE": "Load and validate the Fernet key used for secret encryption.", + "PRE": "ENCRYPTION_KEY environment variable must be set to a valid Fernet key.", + "POST": "Returns validated key bytes ready for Fernet initialization." + }, + "relations": [], + "children": [], + "compliance": { + "valid": false, + "issues": [ + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_CONTRACT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_SCENARIO (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_FIXTURE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_EDGE (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Mandatory Tag: @TEST_INVARIANT (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for CRITICAL tier)", + "severity": "ERROR", + "line_number": 19 + } + ], + "score": 0.0 + } + }, { "name": "EncryptionManager", "type": "Class", "tier": "CRITICAL", - "start_line": 17, - "end_line": 60, + "start_line": 34, + "end_line": 77, "tags": { "TIER": "CRITICAL", "PURPOSE": "Handles encryption and decryption of sensitive data like API keys.", - "INVARIANT": "Uses a secret key from environment or a default one (fallback only for dev).", + "INVARIANT": "Uses only a validated secret key from environment.", "TEST_CONTRACT": "EncryptionManagerModel ->", "TEST_FIXTURE": "basic_encryption_cycle -> {\"data\": \"my_secret_key\"}", "TEST_EDGE": "empty_string_encryption -> {\"data\": \"\"}", @@ -88534,11 +90207,11 @@ "name": "EncryptionManager.__init__", "type": "Function", "tier": "STANDARD", - "start_line": 34, - "end_line": 41, + "start_line": 51, + "end_line": 58, "tags": { "PURPOSE": "Initialize the encryption manager with a Fernet key.", - "PRE": "ENCRYPTION_KEY env var must be set or use default dev key.", + "PRE": "ENCRYPTION_KEY env var must be set to a valid Fernet key.", "POST": "Fernet instance ready for encryption/decryption." }, "relations": [], @@ -88549,32 +90222,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 34 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 34 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 34 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 34 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 34 + "line_number": 51 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 34 + "line_number": 51 } ], "score": 0.0 @@ -88584,8 +90257,8 @@ "name": "EncryptionManager.encrypt", "type": "Function", "tier": "STANDARD", - "start_line": 43, - "end_line": 50, + "start_line": 60, + "end_line": 67, "tags": { "PURPOSE": "Encrypt a plaintext string.", "PRE": "data must be a non-empty string.", @@ -88599,32 +90272,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 60 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 43 + "line_number": 60 } ], "score": 0.0 @@ -88634,8 +90307,8 @@ "name": "EncryptionManager.decrypt", "type": "Function", "tier": "STANDARD", - "start_line": 52, - "end_line": 59, + "start_line": 69, + "end_line": 76, "tags": { "PURPOSE": "Decrypt an encrypted string.", "PRE": "encrypted_data must be a valid Fernet-encrypted string.", @@ -88649,32 +90322,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 52 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 52 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 52 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 52 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 52 + "line_number": 69 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 52 + "line_number": 69 } ], "score": 0.0 @@ -88691,8 +90364,8 @@ "name": "LLMProviderService", "type": "Class", "tier": "STANDARD", - "start_line": 62, - "end_line": 181, + "start_line": 79, + "end_line": 198, "tags": { "TIER": "STANDARD", "PURPOSE": "Service to manage LLM provider lifecycle." @@ -88703,8 +90376,8 @@ "name": "LLMProviderService.__init__", "type": "Function", "tier": "STANDARD", - "start_line": 66, - "end_line": 73, + "start_line": 83, + "end_line": 90, "tags": { "PURPOSE": "Initialize the service with database session.", "PRE": "db must be a valid SQLAlchemy Session.", @@ -88718,32 +90391,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 66 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 66 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 66 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 66 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 66 + "line_number": 83 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 66 + "line_number": 83 } ], "score": 0.0 @@ -88753,8 +90426,8 @@ "name": "get_all_providers", "type": "Function", "tier": "STANDARD", - "start_line": 75, - "end_line": 83, + "start_line": 92, + "end_line": 100, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns all configured LLM providers.", @@ -88769,32 +90442,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 75 + "line_number": 92 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 75 + "line_number": 92 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 75 + "line_number": 92 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 75 + "line_number": 92 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 75 + "line_number": 92 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 75 + "line_number": 92 } ], "score": 0.0 @@ -88804,8 +90477,8 @@ "name": "get_provider", "type": "Function", "tier": "STANDARD", - "start_line": 85, - "end_line": 93, + "start_line": 102, + "end_line": 110, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns a single LLM provider by ID.", @@ -88820,32 +90493,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 85 + "line_number": 102 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 85 + "line_number": 102 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 85 + "line_number": 102 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 85 + "line_number": 102 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 85 + "line_number": 102 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 85 + "line_number": 102 } ], "score": 0.0 @@ -88855,8 +90528,8 @@ "name": "create_provider", "type": "Function", "tier": "STANDARD", - "start_line": 95, - "end_line": 115, + "start_line": 112, + "end_line": 132, "tags": { "TIER": "STANDARD", "PURPOSE": "Creates a new LLM provider with encrypted API key.", @@ -88871,32 +90544,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 95 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 95 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 95 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 95 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 95 + "line_number": 112 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 95 + "line_number": 112 } ], "score": 0.0 @@ -88906,8 +90579,8 @@ "name": "update_provider", "type": "Function", "tier": "STANDARD", - "start_line": 117, - "end_line": 140, + "start_line": 134, + "end_line": 157, "tags": { "TIER": "STANDARD", "PURPOSE": "Updates an existing LLM provider.", @@ -88922,32 +90595,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 134 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 134 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 134 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 134 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 134 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 117 + "line_number": 134 } ], "score": 0.0 @@ -88957,8 +90630,8 @@ "name": "delete_provider", "type": "Function", "tier": "STANDARD", - "start_line": 142, - "end_line": 155, + "start_line": 159, + "end_line": 172, "tags": { "TIER": "STANDARD", "PURPOSE": "Deletes an LLM provider.", @@ -88973,32 +90646,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 142 + "line_number": 159 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 142 + "line_number": 159 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 142 + "line_number": 159 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 142 + "line_number": 159 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 142 + "line_number": 159 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 142 + "line_number": 159 } ], "score": 0.0 @@ -89008,8 +90681,8 @@ "name": "get_decrypted_api_key", "type": "Function", "tier": "STANDARD", - "start_line": 157, - "end_line": 179, + "start_line": 174, + "end_line": 196, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns the decrypted API key for a provider.", @@ -89024,32 +90697,32 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 157 + "line_number": 174 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 157 + "line_number": 174 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 157 + "line_number": 174 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 157 + "line_number": 174 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 157 + "line_number": 174 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 157 + "line_number": 174 } ], "score": 0.0 @@ -89066,8 +90739,8 @@ "name": "__init__", "type": "Function", "tier": "TRIVIAL", - "start_line": 38, - "end_line": 38, + "start_line": 55, + "end_line": 55, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -89084,8 +90757,8 @@ "name": "encrypt", "type": "Function", "tier": "TRIVIAL", - "start_line": 47, - "end_line": 47, + "start_line": 64, + "end_line": 64, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -89102,8 +90775,8 @@ "name": "decrypt", "type": "Function", "tier": "TRIVIAL", - "start_line": 56, - "end_line": 56, + "start_line": 73, + "end_line": 73, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -89120,8 +90793,8 @@ "name": "__init__", "type": "Function", "tier": "TRIVIAL", - "start_line": 70, - "end_line": 70, + "start_line": 87, + "end_line": 87, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -92975,7 +94648,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 126, + "end_line": 137, "tags": { "TIER": "STANDARD", "SEMANTICS": "encryption, security, fernet, api-keys, tests", @@ -92995,7 +94668,7 @@ "type": "Class", "tier": "STANDARD", "start_line": 18, - "end_line": 125, + "end_line": 136, "tags": { "PURPOSE": "Validate EncryptionManager encrypt/decrypt roundtrip, uniqueness, and error handling.", "PRE": "cryptography package installed.", @@ -93007,8 +94680,8 @@ "name": "test_encrypt_decrypt_roundtrip", "type": "Function", "tier": "STANDARD", - "start_line": 44, - "end_line": 55, + "start_line": 43, + "end_line": 54, "tags": { "PURPOSE": "Encrypt then decrypt returns original plaintext.", "PRE": "Valid plaintext string.", @@ -93022,47 +94695,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 44 + "line_number": 43 } ], "score": 0.0 @@ -93072,8 +94745,8 @@ "name": "test_encrypt_produces_different_output", "type": "Function", "tier": "STANDARD", - "start_line": 57, - "end_line": 67, + "start_line": 56, + "end_line": 66, "tags": { "PURPOSE": "Same plaintext produces different ciphertext (Fernet uses random IV).", "PRE": "Two encrypt calls with same input.", @@ -93087,47 +94760,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 57 + "line_number": 56 } ], "score": 0.0 @@ -93137,8 +94810,8 @@ "name": "test_different_inputs_yield_different_ciphertext", "type": "Function", "tier": "STANDARD", - "start_line": 69, - "end_line": 78, + "start_line": 68, + "end_line": 77, "tags": { "PURPOSE": "Different inputs produce different ciphertexts.", "PRE": "Two different plaintext values.", @@ -93152,47 +94825,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 69 + "line_number": 68 } ], "score": 0.0 @@ -93202,8 +94875,8 @@ "name": "test_decrypt_invalid_data_raises", "type": "Function", "tier": "STANDARD", - "start_line": 80, - "end_line": 88, + "start_line": 79, + "end_line": 87, "tags": { "PURPOSE": "Decrypting invalid data raises InvalidToken.", "PRE": "Invalid ciphertext string.", @@ -93217,47 +94890,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 80 + "line_number": 79 } ], "score": 0.0 @@ -93267,8 +94940,8 @@ "name": "test_encrypt_empty_string", "type": "Function", "tier": "STANDARD", - "start_line": 90, - "end_line": 100, + "start_line": 89, + "end_line": 99, "tags": { "PURPOSE": "Encrypting and decrypting an empty string works.", "PRE": "Empty string input.", @@ -93282,47 +94955,112 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 90 + "line_number": 89 + } + ], + "score": 0.0 + } + }, + { + "name": "test_missing_key_fails_fast", + "type": "Function", + "tier": "STANDARD", + "start_line": 101, + "end_line": 111, + "tags": { + "PURPOSE": "Missing ENCRYPTION_KEY must abort initialization instead of using a fallback secret.", + "PRE": "ENCRYPTION_KEY is unset.", + "POST": "RuntimeError raised during EncryptionManager construction." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 101 } ], "score": 0.0 @@ -93332,8 +95070,8 @@ "name": "test_custom_key_roundtrip", "type": "Function", "tier": "STANDARD", - "start_line": 102, - "end_line": 123, + "start_line": 113, + "end_line": 134, "tags": { "PURPOSE": "Custom Fernet key produces valid roundtrip.", "PRE": "Generated Fernet key.", @@ -93347,47 +95085,47 @@ { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 }, { "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", "severity": "WARNING", - "line_number": 102 + "line_number": 113 } ], "score": 0.0 @@ -93433,8 +95171,8 @@ "name": "__init__", "type": "Function", "tier": "TRIVIAL", - "start_line": 34, - "end_line": 34, + "start_line": 33, + "end_line": 33, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -93451,8 +95189,8 @@ "name": "encrypt", "type": "Function", "tier": "TRIVIAL", - "start_line": 37, - "end_line": 37, + "start_line": 36, + "end_line": 36, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -93469,8 +95207,8 @@ "name": "decrypt", "type": "Function", "tier": "TRIVIAL", - "start_line": 39, - "end_line": 39, + "start_line": 38, + "end_line": 38, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -93487,8 +95225,8 @@ "name": "__init__", "type": "Function", "tier": "TRIVIAL", - "start_line": 111, - "end_line": 111, + "start_line": 122, + "end_line": 122, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -93505,8 +95243,8 @@ "name": "encrypt", "type": "Function", "tier": "TRIVIAL", - "start_line": 114, - "end_line": 114, + "start_line": 125, + "end_line": 125, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -93523,8 +95261,8 @@ "name": "decrypt", "type": "Function", "tier": "TRIVIAL", - "start_line": 116, - "end_line": 116, + "start_line": 127, + "end_line": 127, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -96053,6 +97791,23 @@ "score": 0.95 } }, + { + "name": "src.services.notifications", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Notification service package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "backend.src.services.notifications.__tests__.test_notification_service", "type": "Module", @@ -97587,6 +99342,83 @@ "score": 0.95 } }, + { + "name": "backend.src.services.clean_release.artifact_catalog_loader", + "type": "Module", + "tier": "STANDARD", + "start_line": 1, + "end_line": 94, + "tags": { + "TIER": "STANDARD", + "SEMANTICS": "clean-release, artifacts, bootstrap, json, tui", + "PURPOSE": "Load bootstrap artifact catalogs for clean release real-mode flows.", + "LAYER": "Domain", + "INVARIANT": "Artifact catalog must produce deterministic CandidateArtifact entries with required identity and checksum fields." + }, + "relations": [ + { + "type": "DEPENDS_ON", + "target": "backend.src.models.clean_release.CandidateArtifact" + } + ], + "children": [ + { + "name": "load_bootstrap_artifacts", + "type": "Function", + "tier": "STANDARD", + "start_line": 18, + "end_line": 92, + "tags": { + "PURPOSE": "Parse artifact catalog JSON into CandidateArtifact models for TUI/bootstrap flows.", + "PRE": "path points to readable JSON file; payload is list[artifact] or {\"artifacts\": list[artifact]}.", + "POST": "Returns non-mutated CandidateArtifact models with required fields populated." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [ + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 18 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 18 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 18 + }, + { + "message": "Missing Mandatory Tag: @SIDE_EFFECT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 18 + }, + { + "message": "Missing Mandatory Tag: @DATA_CONTRACT (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 18 + }, + { + "message": "Missing Belief State Logging: Function should use belief_scope / molecular methods (required for STANDARD tier)", + "severity": "WARNING", + "line_number": 18 + } + ], + "score": 0.0 + } + } + ], + "compliance": { + "valid": true, + "issues": [], + "score": 0.9400000000000001 + } + }, { "name": "backend.src.services.clean_release.audit_service", "type": "Module", @@ -104020,6 +105852,23 @@ "score": 0.95 } }, + { + "name": "src.services.reports", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Report service package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "test_type_profiles", "type": "Module", @@ -108330,6 +110179,23 @@ "score": 0.0 } }, + { + "name": "src.plugins", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Plugin package root for dynamic discovery and runtime imports." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "schedule_dashboard_validation", "type": "Function", @@ -110460,6 +112326,23 @@ "score": 1.0 } }, + { + "name": "src.plugins.git", + "type": "Package", + "tier": "STANDARD", + "start_line": 1, + "end_line": 3, + "tags": { + "PURPOSE": "Git plugin extension package root." + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "test_task_persistence", "type": "Module", @@ -115736,7 +117619,7 @@ "type": "Module", "tier": "TRIVIAL", "start_line": 1, - "end_line": 161, + "end_line": 236, "tags": { "PURPOSE": "Auto-generated module for backend/tests/test_auth.py", "TIER": "TRIVIAL", @@ -115748,8 +117631,8 @@ "name": "db_session", "type": "Function", "tier": "TRIVIAL", - "start_line": 26, - "end_line": 26, + "start_line": 29, + "end_line": 29, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -115766,8 +117649,8 @@ "name": "auth_service", "type": "Function", "tier": "TRIVIAL", - "start_line": 39, - "end_line": 39, + "start_line": 42, + "end_line": 42, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -115784,24 +117667,6 @@ "name": "auth_repo", "type": "Function", "tier": "TRIVIAL", - "start_line": 43, - "end_line": 43, - "tags": { - "PURPOSE": "Auto-detected function (orphan)", - "TIER": "TRIVIAL" - }, - "relations": [], - "children": [], - "compliance": { - "valid": true, - "issues": [], - "score": 1.0 - } - }, - { - "name": "test_create_user", - "type": "Function", - "tier": "TRIVIAL", "start_line": 46, "end_line": 46, "tags": { @@ -115816,12 +117681,30 @@ "score": 1.0 } }, + { + "name": "test_create_user", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 49, + "end_line": 49, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, { "name": "test_authenticate_user", "type": "Function", "tier": "TRIVIAL", - "start_line": 64, - "end_line": 64, + "start_line": 67, + "end_line": 67, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -115838,8 +117721,8 @@ "name": "test_create_session", "type": "Function", "tier": "TRIVIAL", - "start_line": 89, - "end_line": 89, + "start_line": 92, + "end_line": 92, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -115856,8 +117739,8 @@ "name": "test_role_permission_association", "type": "Function", "tier": "TRIVIAL", - "start_line": 107, - "end_line": 107, + "start_line": 110, + "end_line": 110, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -115874,8 +117757,8 @@ "name": "test_user_role_association", "type": "Function", "tier": "TRIVIAL", - "start_line": 126, - "end_line": 126, + "start_line": 129, + "end_line": 129, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -115892,8 +117775,116 @@ "name": "test_ad_group_mapping", "type": "Function", "tier": "TRIVIAL", - "start_line": 147, - "end_line": 147, + "start_line": 150, + "end_line": 150, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "test_create_admin_creates_user_with_optional_email", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 167, + "end_line": 167, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "test_create_admin_is_idempotent_for_existing_user", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 180, + "end_line": 180, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "test_ensure_encryption_key_generates_backend_env_file", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 196, + "end_line": 196, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "test_ensure_encryption_key_reuses_existing_env_file_value", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 209, + "end_line": 209, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "test_ensure_encryption_key_prefers_process_environment", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 222, + "end_line": 222, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "verify_fernet_key", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 234, + "end_line": 234, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -117076,7 +119067,7 @@ "type": "Module", "tier": "STANDARD", "start_line": 1, - "end_line": 155, + "end_line": 223, "tags": { "TIER": "STANDARD", "SEMANTICS": "tests, tui, clean-release, curses", @@ -117095,8 +119086,8 @@ "name": "mock_stdscr", "type": "Function", "tier": "TRIVIAL", - "start_line": 22, - "end_line": 22, + "start_line": 23, + "end_line": 23, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -117113,8 +119104,8 @@ "name": "test_headless_fallback", "type": "Function", "tier": "TRIVIAL", - "start_line": 29, - "end_line": 29, + "start_line": 30, + "end_line": 30, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -117131,8 +119122,8 @@ "name": "test_tui_initial_render", "type": "Function", "tier": "TRIVIAL", - "start_line": 47, - "end_line": 47, + "start_line": 48, + "end_line": 48, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -117149,8 +119140,8 @@ "name": "test_tui_run_checks_f5", "type": "Function", "tier": "TRIVIAL", - "start_line": 80, - "end_line": 80, + "start_line": 81, + "end_line": 81, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -117167,8 +119158,8 @@ "name": "side_effect", "type": "Function", "tier": "TRIVIAL", - "start_line": 96, - "end_line": 96, + "start_line": 97, + "end_line": 97, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -117185,8 +119176,8 @@ "name": "test_tui_exit_f10", "type": "Function", "tier": "TRIVIAL", - "start_line": 115, - "end_line": 115, + "start_line": 116, + "end_line": 116, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" @@ -117203,8 +119194,26 @@ "name": "test_tui_clear_history_f7", "type": "Function", "tier": "TRIVIAL", - "start_line": 132, - "end_line": 132, + "start_line": 133, + "end_line": 133, + "tags": { + "PURPOSE": "Auto-detected function (orphan)", + "TIER": "TRIVIAL" + }, + "relations": [], + "children": [], + "compliance": { + "valid": true, + "issues": [], + "score": 1.0 + } + }, + { + "name": "test_tui_real_mode_bootstrap_imports_artifacts_catalog", + "type": "Function", + "tier": "TRIVIAL", + "start_line": 157, + "end_line": 157, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" diff --git a/specs/026-dashboard-health-windows/tasks.md b/specs/026-dashboard-health-windows/tasks.md index 024b5452..3479c0d6 100644 --- a/specs/026-dashboard-health-windows/tasks.md +++ b/specs/026-dashboard-health-windows/tasks.md @@ -114,4 +114,6 @@ Goal: Finalize styling, error handling, and end-to-end flow. - [x] R002 Align policy channel schema contract: `custom_channels` migrated to structured objects `{type,target}` in settings schemas. - [x] R003 Tighten health status regex to strict grouped anchors `^(PASS|WARN|FAIL|UNKNOWN)$`. - [x] R004 Resolve weekday convention drift to `0=Sunday ... 6=Saturday` consistently across backend schema description and policy form UI. -- [x] R005 Add regression tests for schema contracts and plugin persistence context fields. \ No newline at end of file +- [x] R005 Add regression tests for schema contracts and plugin persistence context fields. +- [x] R006 Make health report deletion resilient to linked task/log cleanup failures and cover the fallback with unit tests. +- [x] R007 Align Health Center delete action with latest-record aggregation by deleting all validation reports for the selected dashboard/environment scope. \ No newline at end of file