semantic update

This commit is contained in:
2026-02-23 13:15:48 +03:00
parent 008b6d72c9
commit 26880d2e09
29 changed files with 5134 additions and 958 deletions

View File

@@ -234,6 +234,7 @@
- 📦 **frontend.src.lib.stores.__tests__.sidebar** (`Module`)
- 📝 Unit tests for sidebar store
- 🏗️ Layer: Domain (Tests)
- 🔒 Invariant: Sidebar store transitions must be deterministic across desktop/mobile toggles.
- ƒ **test_sidebar_initial_state** (`Function`)
- ƒ **test_toggleSidebar** (`Function`)
- ƒ **test_setActiveItem** (`Function`)
@@ -248,12 +249,26 @@
- 📦 **frontend.src.lib.stores.__tests__.test_taskDrawer** (`Module`) `[CRITICAL]`
- 📝 Unit tests for task drawer store
- 🏗️ Layer: UI
- 🔒 Invariant: Store state transitions remain deterministic for open/close and task-status mapping.
- 📦 **navigation** (`Mock`)
- 📝 Mock for $app/navigation in tests
- 📦 **stores** (`Mock`)
- 📝 Mock for $app/stores in tests
- 📦 **environment** (`Mock`)
- 📝 Mock for $app/environment in tests
- 📦 **frontend.src.lib.api.reports** (`Module`) `[CRITICAL]`
- 📝 Wrapper-based reports API client for list/detail retrieval without direct native fetch usage.
- 🏗️ Layer: Infra
- 🔒 Invariant: Uses existing api wrapper methods and returns structured errors for UI-state mapping.
- 🔗 DEPENDS_ON -> `[DEF:api_module]`
- ƒ **buildReportQueryString** (`Function`)
- 📝 Build query string for reports list endpoint from filter options.
- ƒ **normalizeApiError** (`Function`)
- 📝 Convert unknown API exceptions into deterministic UI-consumable error objects.
- ƒ **getReports** (`Function`)
- 📝 Fetch unified report list using existing request wrapper.
- ƒ **getReportDetail** (`Function`)
- 📝 Fetch one report detail by report_id.
- 🧩 **Select** (`Component`) `[TRIVIAL]`
- 📝 Standardized dropdown selection component.
- 🏗️ Layer: Atom
@@ -304,6 +319,89 @@
- 📝 Derived store providing the translation dictionary.
- ƒ **_** (`Function`)
- 📝 Get translation by key path.
- 🧩 **ReportCard** (`Component`) `[CRITICAL]`
- 📝 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`
- 📦 **ReportCard** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for frontend/src/lib/components/reports/ReportCard.svelte
- 🏗️ Layer: Unknown
- ƒ **getStatusClass** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **formatDate** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **onSelect** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 🧩 **ReportsList** (`Component`) `[CRITICAL]`
- 📝 Render unified list of normalized reports with canonical minimum fields.
- 🏗️ Layer: UI
- 🔒 Invariant: Every rendered row shows task_type label, status, summary, and updated_at.
- ⚡ Events: select
- ➡️ WRITES_TO `props`
- 📦 **ReportsList** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for frontend/src/lib/components/reports/ReportsList.svelte
- 🏗️ Layer: Unknown
- ƒ **handleSelect** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **frontend.src.lib.components.reports.reportTypeProfiles** (`Module`) `[CRITICAL]`
- 📝 Deterministic mapping from report task_type to visual profile with one fallback.
- 🏗️ Layer: UI
- 🔒 Invariant: Unknown type always resolves to fallback profile.
- 🔗 DEPENDS_ON -> `frontend/src/lib/i18n/index.ts`
- ƒ **getReportTypeProfile** (`Function`)
- 📝 Resolve visual profile by task type with guaranteed fallback.
- 🧩 **ReportDetailPanel** (`Component`) `[CRITICAL]`
- 📝 Display detailed report context with diagnostics and actionable recovery guidance.
- 🏗️ Layer: UI
- 🔒 Invariant: Failed/partial reports surface actionable hints when available.
- ⬅️ READS_FROM `lib`
- ➡️ WRITES_TO `props`
- ⬅️ READS_FROM `t`
- 📦 **ReportDetailPanel** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for frontend/src/lib/components/reports/ReportDetailPanel.svelte
- 🏗️ Layer: Unknown
- ƒ **notProvided** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **formatDate** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **frontend.src.lib.components.reports.__tests__.reports_filter_performance** (`Module`)
- 📝 Guard test for report filter responsiveness on moderate in-memory dataset.
- 🏗️ Layer: UI (Tests)
- ƒ **applyFilters** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **makeDataset** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **frontend.src.lib.components.reports.__tests__.reports_page.integration** (`Module`) `[CRITICAL]`
- 📝 Integration-style checks for unified mixed-type reports rendering expectations.
- 🏗️ Layer: UI (Tests)
- 🔒 Invariant: Mixed fixture includes all supported report types in one list.
- ƒ **collectVisibleTypeLabels** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **frontend.src.lib.components.reports.__tests__.report_type_profiles** (`Module`) `[CRITICAL]`
- 📝 Validate report type profile mapping and unknown fallback behavior.
- 🏗️ Layer: UI (Tests)
- 🔒 Invariant: Unknown task_type always resolves to the fallback profile.
- 📦 **frontend.src.lib.components.reports.__tests__.report_card.ux** (`Module`) `[CRITICAL]`
- 📝 Test UX states and transitions for ReportCard component
- 🏗️ Layer: UI
- 🔒 Invariant: Each test asserts at least one observable UX contract outcome.
- 📦 **frontend.src.lib.components.reports.__tests__.report_detail.ux** (`Module`) `[CRITICAL]`
- 📝 Test UX states and recovery for ReportDetailPanel component
- 🏗️ Layer: UI
- 🔒 Invariant: Detail UX tests keep placeholder-safe rendering and recovery visibility verifiable.
- 📦 **frontend.src.lib.components.reports.__tests__.report_detail.integration** (`Module`) `[CRITICAL]`
- 📝 Validate detail-panel behavior for failed reports and recovery guidance visibility.
- 🏗️ Layer: UI (Tests)
- 🔒 Invariant: Failed report detail exposes actionable next actions when available.
- ƒ **buildFailedDetailFixture** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **reports.fixtures** (`Module`)
- 📝 Shared frontend fixtures for unified reports states.
- 🏗️ Layer: UI
- 🧩 **Sidebar** (`Component`) `[CRITICAL]`
- 📝 Persistent left sidebar with resource categories navigation
- 🏗️ Layer: UI
@@ -383,12 +481,21 @@
- 🏗️ Layer: Unknown
- ƒ **handleClose** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **goToTasksPage** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **handleOverlayClick** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **connectWebSocket** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **disconnectWebSocket** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **test_breadcrumbs.svelte** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for frontend/src/lib/components/layout/__tests__/test_breadcrumbs.svelte.js
- 🏗️ Layer: Unknown
- ƒ **getBreadcrumbs** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **formatBreadcrumbLabel** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **ErrorPage** (`Page`)
- 📝 Global error page displaying HTTP status and messages
- 🏗️ Layer: UI
@@ -402,20 +509,32 @@
- ƒ **load** (`Function`)
- 📝 Loads initial plugin data for the dashboard.
- 📦 **layout** (`Module`)
- 📝 Bind global layout shell and conditional login/full-app rendering.
- 🏗️ Layer: UI
- 🔒 Invariant: Login route bypasses shell; all other routes are wrapped by ProtectedRoute.
- 🧩 **TaskManagementPage** (`Component`)
- 📝 Page for managing and monitoring tasks.
- 🏗️ Layer: Page
- ⬅️ READS_FROM `lib`
- ➡️ WRITES_TO `t`
- ⬅️ READS_FROM `t`
- ƒ **loadInitialData** (`Function`)
- ƒ **loadTasks** (`Function`)
- 📝 Loads tasks and environments on page initialization.
- ƒ **refreshTasks** (`Function`)
- 📝 Periodically refreshes the task list.
- ƒ **handleSelectTask** (`Function`)
- 📝 Updates the selected task ID when a task is clicked.
- ƒ **handleRunBackup** (`Function`)
- 📝 Triggers a manual backup task for the selected environment.
- 📦 **+page** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for frontend/src/routes/tasks/+page.svelte
- 🏗️ Layer: Unknown
- ƒ **handleTaskTypeChange** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **handlePageSizeChange** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **goToPrevPage** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **goToNextPage** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **DatasetHub** (`Page`) `[CRITICAL]`
- 📝 Dataset Hub - Dedicated hub for datasets with mapping progress
- 🏗️ Layer: UI
@@ -472,6 +591,28 @@
- 📝 Auto-detected function (orphan)
- ƒ **getMappingProgress** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 🧩 **UnifiedReportsPage** (`Component`) `[CRITICAL]`
- 📝 Unified reports page with filtering and resilient UX states for mixed task types.
- 🏗️ Layer: UI
- 🔒 Invariant: List state remains deterministic for active filter set.
- ⬅️ READS_FROM `lib`
- ⬅️ READS_FROM `t`
- ➡️ WRITES_TO `t`
- 📦 **+page** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for frontend/src/routes/reports/+page.svelte
- 🏗️ Layer: Unknown
- ƒ **buildQuery** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **loadReports** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **hasActiveFilters** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **clearFilters** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **onFilterChange** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **onSelectReport** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 🧩 **LoginPage** (`Component`)
- 📝 Provides the user interface for local and ADFS authentication.
- 🏗️ Layer: UI
@@ -961,6 +1102,11 @@
- ➡️ WRITES_TO `derived`
- ƒ **formatTime** (`Function`)
- 📝 Format ISO timestamp to HH:MM:SS */
- 📦 **TaskResultPanel** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for frontend/src/components/tasks/TaskResultPanel.svelte
- 🏗️ Layer: Unknown
- ƒ **statusColor** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 🧩 **FileList** (`Component`)
- 📝 Displays a table of files with metadata and actions.
- 🏗️ Layer: UI
@@ -1205,6 +1351,27 @@
- 🏗️ Layer: Unknown
- ƒ **test_dashboard_dataset_relations** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.scripts.migrate_sqlite_to_postgres** (`Module`)
- 📝 Migrates legacy config and task history from SQLite/file storage to PostgreSQL.
- 🏗️ Layer: Scripts
- 🔒 Invariant: Script is idempotent for task_records and app_configurations.
- 📦 **Constants** (`Section`)
- ƒ **_json_load_if_needed** (`Function`)
- 📝 Parses JSON-like values from SQLite TEXT/JSON columns to Python objects.
- ƒ **_find_legacy_config_path** (`Function`)
- 📝 Resolves the existing legacy config.json path from candidates.
- ƒ **_connect_sqlite** (`Function`)
- 📝 Opens a SQLite connection with row factory.
- ƒ **_ensure_target_schema** (`Function`)
- 📝 Ensures required PostgreSQL tables exist before migration.
- ƒ **_migrate_config** (`Function`)
- 📝 Migrates legacy config.json into app_configurations(global).
- ƒ **_migrate_tasks_and_logs** (`Function`)
- 📝 Migrates task_records and task_logs from SQLite into PostgreSQL.
- ƒ **run_migration** (`Function`)
- 📝 Orchestrates migration from SQLite/file to PostgreSQL.
- ƒ **main** (`Function`)
- 📝 CLI entrypoint.
- 📦 **backend.src.scripts.seed_permissions** (`Module`)
- 📝 Populates the auth database with initial system permissions.
- 🏗️ Layer: Scripts
@@ -1313,21 +1480,28 @@
- ƒ **_validate_import_file** (`Function`)
- 📝 Validates that the file to be imported is a valid ZIP with metadata.yaml.
- 📦 **ConfigManagerModule** (`Module`)
- 📝 Manages application configuration, including loading/saving to JSON and CRUD for environments.
- 📝 Manages application configuration persisted in database with one-time migration from JSON.
- 🏗️ Layer: Core
- 🔒 Invariant: Configuration must always be valid according to AppConfig model.
- 🔗 DEPENDS_ON -> `ConfigModels`
- 🔗 DEPENDS_ON -> `AppConfigRecord`
- 🔗 CALLS -> `logger`
- **ConfigManager** (`Class`)
- 📝 A class to handle application configuration persistence and management.
- ƒ **__init__** (`Function`)
- 📝 Initializes the ConfigManager.
- ƒ **_default_config** (`Function`)
- 📝 Returns default application configuration.
- ƒ **_load_from_legacy_file** (`Function`)
- 📝 Loads legacy configuration from config.json for migration fallback.
- ƒ **_get_record** (`Function`)
- 📝 Loads config record from DB.
- ƒ **_load_config** (`Function`)
- 📝 Loads the configuration from disk or creates a default one.
- ƒ **_save_config_to_disk** (`Function`)
- 📝 Saves the provided configuration object to disk.
- 📝 Loads the configuration from DB or performs one-time migration from JSON file.
- ƒ **_save_config_to_db** (`Function`)
- 📝 Saves the provided configuration object to DB.
- ƒ **save** (`Function`)
- 📝 Saves the current configuration state to disk.
- 📝 Saves the current configuration state to DB.
- ƒ **get_config** (`Function`)
- 📝 Returns the current configuration.
- ƒ **update_global_settings** (`Function`)
@@ -1377,14 +1551,14 @@
- 📦 **AppConfig** (`DataClass`)
- 📝 The root configuration model containing all application settings.
- 📦 **backend.src.core.database** (`Module`)
- 📝 Configures the SQLite database connection and session management.
- 📝 Configures database connection and session management (PostgreSQL-first).
- 🏗️ Layer: Core
- 🔒 Invariant: A single engine instance is used for the entire application.
- 🔗 DEPENDS_ON -> `sqlalchemy`
- 📦 **BASE_DIR** (`Variable`)
- 📝 Base directory for the backend (where .db files should reside).
- 📝 Base directory for the backend.
- 📦 **DATABASE_URL** (`Constant`)
- 📝 URL for the main mappings database.
- 📝 URL for the main application database.
- 📦 **TASKS_DATABASE_URL** (`Constant`)
- 📝 URL for the tasks execution database.
- 📦 **AUTH_DATABASE_URL** (`Constant`)
@@ -1409,6 +1583,8 @@
- 📝 Dependency for getting a tasks database session.
- ƒ **get_auth_db** (`Function`)
- 📝 Dependency for getting an authentication database session.
- ƒ **_build_engine** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **LoggerModule** (`Module`)
- 📝 Configures the application's logging system, including a custom handler for buffering logs and streaming them over WebSockets.
- 🏗️ Layer: Core
@@ -1531,8 +1707,6 @@
- 🏗️ Layer: Core
- 🔒 Invariant: Uses bcrypt for hashing with standard work factor.
- 🔗 DEPENDS_ON -> `passlib`
- 📦 **pwd_context** (`Variable`)
- 📝 Passlib CryptContext for password management.
- ƒ **verify_password** (`Function`)
- 📝 Verifies a plain password against a hashed password.
- ƒ **get_password_hash** (`Function`)
@@ -1778,6 +1952,12 @@
- 📝 Delete all logs for a specific task.
- ƒ **delete_logs_for_tasks** (`Function`)
- 📝 Delete all logs for multiple tasks.
- ƒ **_json_load_if_needed** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_parse_datetime** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_resolve_environment_id** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **json_serializable** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **TaskManagerModule** (`Module`)
@@ -1831,6 +2011,8 @@
- 📝 Resume a task that is awaiting input with provided passwords.
- ƒ **clear_tasks** (`Function`)
- 📝 Clears tasks based on status filter (also deletes associated logs).
- ƒ **sort_key** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **TaskManagerModels** (`Module`)
- 📝 Defines the data models and enumerations used by the Task Manager.
- 🏗️ Layer: Core
@@ -2169,6 +2351,18 @@
- ƒ **download_file** (`Function`)
- 📝 Retrieve a file for download.
- 🔗 CALLS -> `StoragePlugin.get_file_path`
- 📦 **ReportsRouter** (`Module`) `[CRITICAL]`
- 📝 FastAPI router for unified task report list and detail retrieval endpoints.
- 🏗️ Layer: UI (API)
- 🔒 Invariant: Endpoints are read-only and do not trigger long-running tasks.
- 🔗 DEPENDS_ON -> `backend.src.services.reports.report_service.ReportsService`
- 🔗 DEPENDS_ON -> `backend.src.dependencies`
- ƒ **_parse_csv_enum_list** (`Function`)
- 📝 Parse comma-separated query value into enum list.
- ƒ **list_reports** (`Function`)
- 📝 Return paginated unified reports list.
- ƒ **get_report_detail** (`Function`)
- 📝 Return one normalized report detail with diagnostics and next actions.
- 📦 **__init__** (`Module`) `[TRIVIAL]`
- 📝 Auto-generated module for backend/src/api/routes/__init__.py
- 🏗️ Layer: Unknown
@@ -2240,15 +2434,71 @@
- 📝 Auto-detected function (orphan)
- ƒ **mock_get_dashboards** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.tests.test_reports_openapi_conformance** (`Module`) `[CRITICAL]`
- 📝 Validate implemented reports payload shape against OpenAPI-required top-level contract fields.
- 🏗️ Layer: Domain (Tests)
- 🔒 Invariant: List and detail payloads include required contract keys.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_all_tasks** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_admin_user** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_task** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_reports_list_openapi_required_keys** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_reports_detail_openapi_required_keys** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.tests.test_reports_api** (`Module`) `[CRITICAL]`
- 📝 Contract tests for GET /api/reports defaults, pagination, and filtering behavior.
- 🏗️ Layer: Domain (Tests)
- 🔒 Invariant: API response contract contains {items,total,page,page_size,has_next,applied_filters}.
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_all_tasks** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_admin_user** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_make_task** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_get_reports_default_pagination_contract** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_get_reports_filter_and_pagination** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_get_reports_invalid_filter_returns_400** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.api.routes.__tests__.test_datasets** (`Module`)
- 📝 Unit tests for Datasets API endpoints
- 🏗️ Layer: API
- 🔒 Invariant: Endpoint contracts remain stable for success and validation failure paths.
- ƒ **test_get_datasets_success** (`Function`)
- ƒ **test_get_datasets_env_not_found** (`Function`)
- ƒ **test_get_datasets_invalid_pagination** (`Function`)
- ƒ **test_map_columns_success** (`Function`)
- ƒ **test_map_columns_invalid_source_type** (`Function`)
- ƒ **test_generate_docs_success** (`Function`)
- 📦 **backend.tests.test_reports_detail_api** (`Module`) `[CRITICAL]`
- 📝 Contract tests for GET /api/reports/{report_id} detail endpoint behavior.
- 🏗️ Layer: Domain (Tests)
- ƒ **__init__** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **get_all_tasks** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_admin_user** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_make_task** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_get_report_detail_success** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_get_report_detail_not_found** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.models.config** (`Module`)
- 📝 Defines database schema for persisted application configuration.
- 🏗️ Layer: Domain
- 🔗 DEPENDS_ON -> `sqlalchemy`
- **AppConfigRecord** (`Class`)
- 📝 Stores the single source of truth for application configuration.
- 📦 **backend.src.models.llm** (`Module`)
- 📝 SQLAlchemy models for LLM provider configuration and validation results.
- 🏗️ Layer: Domain
@@ -2298,6 +2548,33 @@
- 📝 Represents a mapping between source and target databases.
- **MigrationJob** (`Class`) `[TRIVIAL]`
- 📝 Represents a single migration execution job.
- 📦 **backend.src.models.report** (`Module`) `[CRITICAL]`
- 📝 Canonical report schemas for unified task reporting across heterogeneous task types.
- 🏗️ Layer: Domain
- 🔒 Invariant: Canonical report fields are always present for every report item.
- 🔗 DEPENDS_ON -> `backend.src.core.task_manager.models`
- **TaskType** (`Class`)
- 📝 Supported normalized task report types.
- **ReportStatus** (`Class`)
- 📝 Supported normalized report status values.
- **ErrorContext** (`Class`)
- 📝 Error and recovery context for failed/partial reports.
- **TaskReport** (`Class`)
- 📝 Canonical normalized report envelope for one task execution.
- **ReportQuery** (`Class`)
- 📝 Query object for server-side report filtering, sorting, and pagination.
- **ReportCollection** (`Class`)
- 📝 Paginated collection of normalized task reports.
- **ReportDetailView** (`Class`)
- 📝 Detailed report representation including diagnostics and recovery actions.
- ƒ **_non_empty_str** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_validate_sort_by** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_validate_sort_order** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **_validate_time_range** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **backend.src.models.storage** (`Module`) `[TRIVIAL]`
- 📝 Data models for the storage system.
- 🏗️ Layer: Domain
@@ -2477,12 +2754,75 @@
- 📦 **backend.src.services.__tests__.test_resource_service** (`Module`)
- 📝 Unit tests for ResourceService
- 🏗️ Layer: Service
- 🔒 Invariant: Resource summaries preserve task linkage and status projection behavior.
- ƒ **test_get_dashboards_with_status** (`Function`)
- ƒ **test_get_datasets_with_status** (`Function`)
- ƒ **test_get_activity_summary** (`Function`)
- ƒ **test_get_git_status_for_dashboard_no_repo** (`Function`)
- ƒ **test_get_last_task_for_resource** (`Function`)
- ƒ **test_extract_resource_name_from_task** (`Function`)
- 📦 **backend.src.services.reports.normalizer** (`Module`) `[CRITICAL]`
- 📝 Convert task manager task objects into canonical unified TaskReport entities with deterministic fallback behavior.
- 🏗️ Layer: Domain
- 🔒 Invariant: Unknown task types and partial payloads remain visible via fallback mapping.
- 🔗 DEPENDS_ON -> `backend.src.core.task_manager.models.Task`
- 🔗 DEPENDS_ON -> `backend.src.models.report`
- 🔗 DEPENDS_ON -> `backend.src.services.reports.type_profiles`
- ƒ **status_to_report_status** (`Function`)
- 📝 Normalize internal task status to canonical report status.
- ƒ **build_summary** (`Function`)
- 📝 Build deterministic user-facing summary from task payload and status.
- ƒ **extract_error_context** (`Function`)
- 📝 Extract normalized error context and next actions for failed/partial reports.
- ƒ **normalize_task_report** (`Function`)
- 📝 Convert one Task to canonical TaskReport envelope.
- 📦 **backend.src.services.reports.type_profiles** (`Module`) `[CRITICAL]`
- 📝 Deterministic mapping of plugin/task identifiers to canonical report task types and fallback profile metadata.
- 🏗️ Layer: Domain
- 🔒 Invariant: Unknown input always resolves to TaskType.UNKNOWN with a single fallback profile.
- 🔗 DEPENDS_ON -> `backend.src.models.report.TaskType`
- 📦 **PLUGIN_TO_TASK_TYPE** (`Data`)
- 📝 Maps plugin identifiers to normalized report task types.
- 📦 **TASK_TYPE_PROFILES** (`Data`)
- 📝 Profile metadata registry for each normalized task type.
- ƒ **resolve_task_type** (`Function`)
- 📝 Resolve canonical task type from plugin/task identifier with guaranteed fallback.
- ƒ **get_type_profile** (`Function`)
- 📝 Return deterministic profile metadata for a task type.
- 📦 **backend.src.services.reports.report_service** (`Module`) `[CRITICAL]`
- 📝 Aggregate, normalize, filter, and paginate task reports for unified list/detail API use cases.
- 🏗️ Layer: Domain
- 🔒 Invariant: List responses are deterministic and include applied filter echo metadata.
- 🔗 DEPENDS_ON -> `backend.src.core.task_manager.manager.TaskManager`
- 🔗 DEPENDS_ON -> `backend.src.models.report`
- 🔗 DEPENDS_ON -> `backend.src.services.reports.normalizer`
- **ReportsService** (`Class`) `[CRITICAL]`
- 📝 Service layer for list/detail report retrieval and normalization.
- 🔒 Invariant: Service methods are read-only over task history source.
- ƒ **__init__** (`Function`) `[CRITICAL]`
- 📝 Initialize service with TaskManager dependency.
- 🔒 Invariant: Constructor performs no task mutations.
- ƒ **_load_normalized_reports** (`Function`)
- 📝 Build normalized reports from all available tasks.
- 🔒 Invariant: Every returned item is a TaskReport.
- ƒ **_matches_query** (`Function`)
- 📝 Apply query filtering to a report.
- 🔒 Invariant: Filter evaluation is side-effect free.
- ƒ **_sort_reports** (`Function`)
- 📝 Sort reports deterministically according to query settings.
- 🔒 Invariant: Sorting criteria are deterministic for equal input.
- ƒ **list_reports** (`Function`)
- 📝 Return filtered, sorted, paginated report collection.
- ƒ **get_report_detail** (`Function`)
- 📝 Return one normalized report with timeline/diagnostics/next actions.
- 📦 **backend.tests.test_report_normalizer** (`Module`) `[CRITICAL]`
- 📝 Validate unknown task type fallback and partial payload normalization behavior.
- 🏗️ Layer: Domain (Tests)
- 🔒 Invariant: Unknown plugin types are mapped to canonical unknown task type.
- ƒ **test_unknown_type_maps_to_unknown_profile** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- ƒ **test_partial_payload_keeps_report_visible_with_placeholders** (`Function`) `[TRIVIAL]`
- 📝 Auto-detected function (orphan)
- 📦 **BackupPlugin** (`Module`)
- 📝 A plugin that provides functionality to back up Superset dashboards.
- 🏗️ Layer: App