semantic update
This commit is contained in:
@@ -2,12 +2,12 @@
|
||||
|
||||
> High-level module structure for AI Context. Generated automatically.
|
||||
|
||||
**Generated:** 2026-02-20T11:30:24.325166
|
||||
**Generated:** 2026-02-23T11:15:39.876570
|
||||
|
||||
## Summary
|
||||
|
||||
- **Total Modules:** 63
|
||||
- **Total Entities:** 1214
|
||||
- **Total Modules:** 71
|
||||
- **Total Entities:** 1340
|
||||
|
||||
## Module Hierarchy
|
||||
|
||||
@@ -79,9 +79,9 @@
|
||||
### 📁 `routes/`
|
||||
|
||||
- 🏗️ **Layers:** API, UI (API), Unknown
|
||||
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 137, TRIVIAL: 3
|
||||
- 📄 **Files:** 15
|
||||
- 📦 **Entities:** 141
|
||||
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 140, TRIVIAL: 3
|
||||
- 📄 **Files:** 16
|
||||
- 📦 **Entities:** 145
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -115,10 +115,10 @@
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** API
|
||||
- 📊 **Tiers:** STANDARD: 16, TRIVIAL: 2
|
||||
- 📄 **Files:** 2
|
||||
- 📦 **Entities:** 18
|
||||
- 🏗️ **Layers:** API, Domain (Tests)
|
||||
- 📊 **Tiers:** CRITICAL: 3, STANDARD: 16, TRIVIAL: 21
|
||||
- 📄 **Files:** 5
|
||||
- 📦 **Entities:** 40
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -126,13 +126,19 @@
|
||||
- Unit tests for Dashboards API endpoints
|
||||
- 📦 **backend.src.api.routes.__tests__.test_datasets** (Module)
|
||||
- Unit tests for Datasets API endpoints
|
||||
- 📦 **backend.tests.test_reports_api** (Module) `[CRITICAL]`
|
||||
- Contract tests for GET /api/reports defaults, pagination, an...
|
||||
- 📦 **backend.tests.test_reports_detail_api** (Module) `[CRITICAL]`
|
||||
- Contract tests for GET /api/reports/{report_id} detail endpo...
|
||||
- 📦 **backend.tests.test_reports_openapi_conformance** (Module) `[CRITICAL]`
|
||||
- Validate implemented reports payload shape against OpenAPI-r...
|
||||
|
||||
### 📁 `core/`
|
||||
|
||||
- 🏗️ **Layers:** Core
|
||||
- 📊 **Tiers:** STANDARD: 109
|
||||
- 📊 **Tiers:** STANDARD: 112, TRIVIAL: 1
|
||||
- 📄 **Files:** 9
|
||||
- 📦 **Entities:** 109
|
||||
- 📦 **Entities:** 113
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -159,6 +165,7 @@
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> AppConfigRecord
|
||||
- 🔗 DEPENDS_ON -> ConfigModels
|
||||
- 🔗 DEPENDS_ON -> PyYAML
|
||||
- 🔗 DEPENDS_ON -> sqlalchemy
|
||||
@@ -166,9 +173,9 @@
|
||||
### 📁 `auth/`
|
||||
|
||||
- 🏗️ **Layers:** Core
|
||||
- 📊 **Tiers:** STANDARD: 27
|
||||
- 📊 **Tiers:** STANDARD: 26
|
||||
- 📄 **Files:** 6
|
||||
- 📦 **Entities:** 27
|
||||
- 📦 **Entities:** 26
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -224,9 +231,9 @@
|
||||
### 📁 `task_manager/`
|
||||
|
||||
- 🏗️ **Layers:** Core
|
||||
- 📊 **Tiers:** CRITICAL: 7, STANDARD: 63, TRIVIAL: 4
|
||||
- 📊 **Tiers:** CRITICAL: 7, STANDARD: 63, TRIVIAL: 8
|
||||
- 📄 **Files:** 7
|
||||
- 📦 **Entities:** 74
|
||||
- 📦 **Entities:** 78
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -298,14 +305,16 @@
|
||||
### 📁 `models/`
|
||||
|
||||
- 🏗️ **Layers:** Domain, Model
|
||||
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 15, TRIVIAL: 17
|
||||
- 📄 **Files:** 8
|
||||
- 📦 **Entities:** 33
|
||||
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 24, TRIVIAL: 21
|
||||
- 📄 **Files:** 10
|
||||
- 📦 **Entities:** 47
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **ADGroupMapping** (Class)
|
||||
- Maps an Active Directory group to a local System Role.
|
||||
- ℂ **AppConfigRecord** (Class)
|
||||
- Stores the single source of truth for application configurat...
|
||||
- ℂ **ConnectionConfig** (Class) `[TRIVIAL]`
|
||||
- Stores credentials for external databases used for column ma...
|
||||
- ℂ **DashboardMetadata** (Class) `[TRIVIAL]`
|
||||
@@ -318,17 +327,16 @@
|
||||
- Target Superset environments for dashboard deployment.
|
||||
- ℂ **Environment** (Class)
|
||||
- Represents a Superset instance environment.
|
||||
- ℂ **ErrorContext** (Class)
|
||||
- Error and recovery context for failed/partial reports.
|
||||
- ℂ **FileCategory** (Class) `[TRIVIAL]`
|
||||
- Enumeration of supported file categories in the storage syst...
|
||||
- ℂ **GitRepository** (Class) `[TRIVIAL]`
|
||||
- Tracking for a local Git repository linked to a dashboard.
|
||||
- ℂ **GitServerConfig** (Class) `[TRIVIAL]`
|
||||
- Configuration for a Git server connection.
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> Role
|
||||
- 🔗 DEPENDS_ON -> TaskRecord
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.task_manager.models
|
||||
- 🔗 DEPENDS_ON -> sqlalchemy
|
||||
|
||||
### 📁 `__tests__/`
|
||||
@@ -483,9 +491,9 @@
|
||||
### 📁 `scripts/`
|
||||
|
||||
- 🏗️ **Layers:** Scripts, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 7, TRIVIAL: 2
|
||||
- 📄 **Files:** 4
|
||||
- 📦 **Entities:** 9
|
||||
- 📊 **Tiers:** STANDARD: 17, TRIVIAL: 2
|
||||
- 📄 **Files:** 5
|
||||
- 📦 **Entities:** 19
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -493,6 +501,8 @@
|
||||
- CLI tool for creating the initial admin user.
|
||||
- 📦 **backend.src.scripts.init_auth_db** (Module)
|
||||
- Initializes the auth database and creates the necessary tabl...
|
||||
- 📦 **backend.src.scripts.migrate_sqlite_to_postgres** (Module)
|
||||
- Migrates legacy config and task history from SQLite/file sto...
|
||||
- 📦 **backend.src.scripts.seed_permissions** (Module)
|
||||
- Populates the auth database with initial system permissions.
|
||||
- 📦 **test_dataset_dashboard_relations** (Module) `[TRIVIAL]`
|
||||
@@ -548,6 +558,44 @@
|
||||
- 📦 **backend.src.services.__tests__.test_resource_service** (Module)
|
||||
- Unit tests for ResourceService
|
||||
|
||||
### 📁 `reports/`
|
||||
|
||||
- 🏗️ **Layers:** Domain
|
||||
- 📊 **Tiers:** CRITICAL: 5, STANDARD: 13
|
||||
- 📄 **Files:** 3
|
||||
- 📦 **Entities:** 18
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **ReportsService** (Class) `[CRITICAL]`
|
||||
- Service layer for list/detail report retrieval and normaliza...
|
||||
- 📦 **backend.src.services.reports.normalizer** (Module) `[CRITICAL]`
|
||||
- Convert task manager task objects into canonical unified Tas...
|
||||
- 📦 **backend.src.services.reports.report_service** (Module) `[CRITICAL]`
|
||||
- Aggregate, normalize, filter, and paginate task reports for ...
|
||||
- 📦 **backend.src.services.reports.type_profiles** (Module) `[CRITICAL]`
|
||||
- Deterministic mapping of plugin/task identifiers to canonica...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.task_manager.manager.TaskManager
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.task_manager.models.Task
|
||||
- 🔗 DEPENDS_ON -> backend.src.models.report
|
||||
- 🔗 DEPENDS_ON -> backend.src.models.report.TaskType
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.reports.normalizer
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** Domain (Tests)
|
||||
- 📊 **Tiers:** CRITICAL: 1, TRIVIAL: 2
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 3
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **backend.tests.test_report_normalizer** (Module) `[CRITICAL]`
|
||||
- Validate unknown task type fallback and partial payload norm...
|
||||
|
||||
### 📁 `tests/`
|
||||
|
||||
- 🏗️ **Layers:** Domain (Tests), Test, Unknown
|
||||
@@ -675,9 +723,9 @@
|
||||
### 📁 `tasks/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 4, TRIVIAL: 10
|
||||
- 📄 **Files:** 3
|
||||
- 📦 **Entities:** 14
|
||||
- 📊 **Tiers:** STANDARD: 4, TRIVIAL: 12
|
||||
- 📄 **Files:** 4
|
||||
- 📦 **Entities:** 16
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -691,6 +739,8 @@
|
||||
- Auto-generated module for frontend/src/components/tasks/LogF...
|
||||
- 📦 **TaskLogPanel** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/components/tasks/Task...
|
||||
- 📦 **TaskResultPanel** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/components/tasks/Task...
|
||||
|
||||
### 📁 `tools/`
|
||||
|
||||
@@ -732,6 +782,22 @@
|
||||
- 📦 **toasts_module** (Module)
|
||||
- Manages toast notifications using a Svelte writable store.
|
||||
|
||||
### 📁 `api/`
|
||||
|
||||
- 🏗️ **Layers:** Infra
|
||||
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 4
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 5
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **frontend.src.lib.api.reports** (Module) `[CRITICAL]`
|
||||
- Wrapper-based reports API client for list/detail retrieval w...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> [DEF:api_module]
|
||||
|
||||
### 📁 `auth/`
|
||||
|
||||
- 🏗️ **Layers:** Feature
|
||||
@@ -747,9 +813,9 @@
|
||||
### 📁 `layout/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
- 📊 **Tiers:** CRITICAL: 3, STANDARD: 4, TRIVIAL: 23
|
||||
- 📊 **Tiers:** CRITICAL: 3, STANDARD: 4, TRIVIAL: 24
|
||||
- 📄 **Files:** 4
|
||||
- 📦 **Entities:** 30
|
||||
- 📦 **Entities:** 31
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -770,6 +836,80 @@
|
||||
- 📦 **TopNavbar** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/components/layout...
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** Unknown
|
||||
- 📊 **Tiers:** TRIVIAL: 3
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 3
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **test_breadcrumbs.svelte** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/components/layout...
|
||||
|
||||
### 📁 `reports/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
- 📊 **Tiers:** CRITICAL: 4, STANDARD: 1, TRIVIAL: 9
|
||||
- 📄 **Files:** 4
|
||||
- 📦 **Entities:** 14
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 🧩 **ReportCard** (Component) `[CRITICAL]`
|
||||
- Render one report with explicit textual type label and profi...
|
||||
- 🧩 **ReportDetailPanel** (Component) `[CRITICAL]`
|
||||
- Display detailed report context with diagnostics and actiona...
|
||||
- 🧩 **ReportsList** (Component) `[CRITICAL]`
|
||||
- Render unified list of normalized reports with canonical min...
|
||||
- 📦 **ReportCard** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/components/report...
|
||||
- 📦 **ReportDetailPanel** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/components/report...
|
||||
- 📦 **ReportsList** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/components/report...
|
||||
- 📦 **frontend.src.lib.components.reports.reportTypeProfiles** (Module) `[CRITICAL]`
|
||||
- Deterministic mapping from report task_type to visual profil...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> frontend/src/lib/i18n/index.ts
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** UI, UI (Tests)
|
||||
- 📊 **Tiers:** CRITICAL: 5, STANDARD: 1, TRIVIAL: 4
|
||||
- 📄 **Files:** 6
|
||||
- 📦 **Entities:** 10
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **frontend.src.lib.components.reports.__tests__.report_card.ux** (Module) `[CRITICAL]`
|
||||
- Test UX states and transitions for ReportCard component
|
||||
- 📦 **frontend.src.lib.components.reports.__tests__.report_detail.integration** (Module) `[CRITICAL]`
|
||||
- Validate detail-panel behavior for failed reports and recove...
|
||||
- 📦 **frontend.src.lib.components.reports.__tests__.report_detail.ux** (Module) `[CRITICAL]`
|
||||
- Test UX states and recovery for ReportDetailPanel component
|
||||
- 📦 **frontend.src.lib.components.reports.__tests__.report_type_profiles** (Module) `[CRITICAL]`
|
||||
- Validate report type profile mapping and unknown fallback be...
|
||||
- 📦 **frontend.src.lib.components.reports.__tests__.reports_filter_performance** (Module)
|
||||
- Guard test for report filter responsiveness on moderate in-m...
|
||||
- 📦 **frontend.src.lib.components.reports.__tests__.reports_page.integration** (Module) `[CRITICAL]`
|
||||
- Integration-style checks for unified mixed-type reports rend...
|
||||
|
||||
### 📁 `fixtures/`
|
||||
|
||||
- 🏗️ **Layers:** UI
|
||||
- 📊 **Tiers:** STANDARD: 1
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 1
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **reports.fixtures** (Module)
|
||||
- Shared frontend fixtures for unified reports states.
|
||||
|
||||
### 📁 `i18n/`
|
||||
|
||||
- 🏗️ **Layers:** Infra
|
||||
@@ -907,6 +1047,7 @@
|
||||
- 📦 **RootLayoutConfig** (Module) `[TRIVIAL]`
|
||||
- Root layout configuration (SPA mode)
|
||||
- 📦 **layout** (Module)
|
||||
- Bind global layout shell and conditional login/full-app rend...
|
||||
|
||||
### 📁 `roles/`
|
||||
|
||||
@@ -1031,6 +1172,20 @@
|
||||
- 🧩 **MappingManagement** (Component)
|
||||
- Page for managing database mappings between environments.
|
||||
|
||||
### 📁 `reports/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
- 📊 **Tiers:** CRITICAL: 1, TRIVIAL: 7
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 8
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 🧩 **UnifiedReportsPage** (Component) `[CRITICAL]`
|
||||
- Unified reports page with filtering and resilient UX states ...
|
||||
- 📦 **+page** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/routes/reports/+page....
|
||||
|
||||
### 📁 `settings/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
@@ -1082,15 +1237,17 @@
|
||||
|
||||
### 📁 `tasks/`
|
||||
|
||||
- 🏗️ **Layers:** Page
|
||||
- 📊 **Tiers:** STANDARD: 5
|
||||
- 🏗️ **Layers:** Page, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 4, TRIVIAL: 5
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 5
|
||||
- 📦 **Entities:** 9
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 🧩 **TaskManagementPage** (Component)
|
||||
- Page for managing and monitoring tasks.
|
||||
- 📦 **+page** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/routes/tasks/+page.sv...
|
||||
|
||||
### 📁 `debug/`
|
||||
|
||||
@@ -1210,6 +1367,10 @@ graph TD
|
||||
routes-->|DEPENDS_ON|backend
|
||||
routes-->|DEPENDS_ON|backend
|
||||
routes-->|DEPENDS_ON|backend
|
||||
routes-->|DEPENDS_ON|backend
|
||||
routes-->|DEPENDS_ON|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
core-->|USES|backend
|
||||
@@ -1224,11 +1385,14 @@ graph TD
|
||||
utils-->|DEPENDS_ON|backend
|
||||
utils-->|DEPENDS_ON|backend
|
||||
models-->|INHERITS_FROM|backend
|
||||
models-->|DEPENDS_ON|backend
|
||||
models-->|USED_BY|backend
|
||||
models-->|INHERITS_FROM|backend
|
||||
llm_analysis-->|IMPLEMENTS|backend
|
||||
llm_analysis-->|IMPLEMENTS|backend
|
||||
storage-->|DEPENDS_ON|backend
|
||||
scripts-->|READS_FROM|backend
|
||||
scripts-->|READS_FROM|backend
|
||||
scripts-->|USES|backend
|
||||
scripts-->|USES|backend
|
||||
scripts-->|CALLS|backend
|
||||
@@ -1246,5 +1410,20 @@ graph TD
|
||||
services-->|DEPENDS_ON|backend
|
||||
services-->|DEPENDS_ON|backend
|
||||
__tests__-->|TESTS|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
__tests__-->|TESTS|backend
|
||||
tests-->|TESTS|backend
|
||||
reports-->|DEPENDS_ON|lib
|
||||
__tests__-->|TESTS|routes
|
||||
__tests__-->|TESTS|routes
|
||||
__tests__-->|TESTS|lib
|
||||
__tests__-->|TESTS|lib
|
||||
__tests__-->|TESTS|lib
|
||||
__tests__-->|TESTS|routes
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<!-- [DEF:FrontendComponentShot:Component] -->
|
||||
<script>
|
||||
/**
|
||||
<!-- /**
|
||||
* @TIER: CRITICAL
|
||||
* @SEMANTICS: Task, Button, Action, UX
|
||||
* @PURPOSE: Action button to spawn a new task with full UX feedback cycle.
|
||||
@@ -19,6 +18,8 @@
|
||||
* @UX_TEST: Idle -> {click: spawnTask, expected: isLoading=true}
|
||||
* @UX_TEST: Success -> {api_resolve: 200, expected: toast.success called}
|
||||
*/
|
||||
-->
|
||||
<script>
|
||||
import { postApi } from "$lib/api.js";
|
||||
import { t } from "$lib/i18n";
|
||||
import { toast } from "$lib/stores/toast";
|
||||
@@ -29,6 +30,11 @@
|
||||
let isLoading = false;
|
||||
|
||||
// [DEF:spawnTask:Function]
|
||||
/**
|
||||
* @purpose Execute task creation request and emit user feedback.
|
||||
* @pre plugin_id is resolved and request params are serializable.
|
||||
* @post isLoading is reset and user receives success/error feedback.
|
||||
*/
|
||||
async function spawnTask() {
|
||||
isLoading = true;
|
||||
console.log("[FrontendComponentShot][Loading] Spawning task...");
|
||||
|
||||
Reference in New Issue
Block a user