{ "project_root": ".", "generated_at": "2026-02-23T14:44:08.454810", "modules": [ { "name": "generate_semantic_map", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 1160, "tags": { "TIER": "CRITICAL", "SEMANTICS": "semantic_analysis, parser, map_generator, compliance_checker, tier_validation, svelte_props, data_flow, module_map", "PURPOSE": "Scans the codebase to generate a Semantic Map, Module Map, and Compliance Report based on the System Standard.", "LAYER": "DevOps/Tooling", "INVARIANT": "All DEF anchors must have matching closing anchors; TIER determines validation strictness." }, "relations": [ { "type": "READS", "target": "FileSystem" }, { "type": "PRODUCES", "target": "semantics/semantic_map.json" }, { "type": "PRODUCES", "target": ".ai/PROJECT_MAP.md" }, { "type": "PRODUCES", "target": ".ai/MODULE_MAP.md" }, { "type": "PRODUCES", "target": "semantics/reports/semantic_report_*.md" } ], "children": [ { "name": "__init__", "type": "Function", "tier": "TRIVIAL", "start_line": 26, "end_line": 33, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Mock init for self-containment.", "PRE": "name is a string.", "POST": "Instance initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "__enter__", "type": "Function", "tier": "TRIVIAL", "start_line": 35, "end_line": 42, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Mock enter.", "PRE": "Instance initialized.", "POST": "Returns self." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "__exit__", "type": "Function", "tier": "TRIVIAL", "start_line": 44, "end_line": 51, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Mock exit.", "PRE": "Context entered.", "POST": "Context exited." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Tier", "type": "Class", "tier": "TRIVIAL", "start_line": 58, "end_line": 64, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Enumeration of semantic tiers defining validation strictness." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Severity", "type": "Class", "tier": "TRIVIAL", "start_line": 68, "end_line": 74, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Severity levels for compliance issues." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ComplianceIssue", "type": "Class", "tier": "TRIVIAL", "start_line": 121, "end_line": 136, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents a single compliance issue with severity." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "SemanticEntity", "type": "Class", "tier": "CRITICAL", "start_line": 139, "end_line": 315, "tags": { "TIER": "CRITICAL", "PURPOSE": "Represents a code entity (Module, Function, Component) found during parsing.", "INVARIANT": "start_line is always set; end_line is set upon closure; tier defaults to STANDARD." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 144, "end_line": 167, "tags": { "TIER": "STANDARD", "PURPOSE": "Initializes a new SemanticEntity instance.", "PRE": "name, type_, start_line, file_path are provided.", "POST": "Instance is initialized with default values." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_tier", "type": "Function", "tier": "STANDARD", "start_line": 169, "end_line": 181, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns the tier of the entity, defaulting to STANDARD.", "PRE": "tags dictionary is accessible.", "POST": "Returns Tier enum value." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "to_dict", "type": "Function", "tier": "STANDARD", "start_line": 183, "end_line": 212, "tags": { "TIER": "STANDARD", "PURPOSE": "Serializes the entity to a dictionary for JSON output.", "PRE": "Entity is fully populated.", "POST": "Returns a dictionary representation." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "validate", "type": "Function", "tier": "CRITICAL", "start_line": 214, "end_line": 278, "tags": { "TIER": "CRITICAL", "PURPOSE": "Checks for semantic compliance based on TIER requirements.", "PRE": "Entity structure is complete; tier is determined.", "POST": "Populates self.compliance_issues with severity levels.", "SIDE_EFFECT": "Modifies self.compliance_issues list." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_score", "type": "Function", "tier": "STANDARD", "start_line": 280, "end_line": 314, "tags": { "TIER": "STANDARD", "PURPOSE": "Calculates a compliance score (0.0 to 1.0) based on tier requirements.", "PRE": "validate() has been called.", "POST": "Returns a float score." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_patterns", "type": "Function", "tier": "STANDARD", "start_line": 318, "end_line": 353, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns regex patterns for a specific language.", "PRE": "lang is either 'python' or 'svelte_js'.", "POST": "Returns a dictionary of compiled regex patterns.", "PARAM": "lang (str) - 'python' or 'svelte_js'" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "extract_svelte_props", "type": "Function", "tier": "STANDARD", "start_line": 356, "end_line": 382, "tags": { "TIER": "STANDARD", "PURPOSE": "Extracts props from Svelte component script section.", "PRE": "lines is a list of file lines, start_idx is the starting line index.", "POST": "Returns list of prop definitions." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "extract_svelte_events", "type": "Function", "tier": "STANDARD", "start_line": 385, "end_line": 419, "tags": { "TIER": "STANDARD", "PURPOSE": "Extracts dispatched events from Svelte component.", "PRE": "lines is a list of file lines.", "POST": "Returns list of event names." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "extract_data_flow", "type": "Function", "tier": "STANDARD", "start_line": 422, "end_line": 472, "tags": { "TIER": "STANDARD", "PURPOSE": "Extracts store subscriptions and data flow from Svelte component.", "PRE": "lines is a list of file lines.", "POST": "Returns list of data flow descriptors." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "parse_file", "type": "Function", "tier": "CRITICAL", "start_line": 475, "end_line": 662, "tags": { "TIER": "CRITICAL", "PURPOSE": "Parses a single file to extract semantic entities with tier awareness and enhanced Svelte analysis.", "PRE": "full_path, rel_path, lang are valid strings.", "POST": "Returns extracted entities and list of issues.", "INVARIANT": "Every opened anchor must have a matching closing anchor for valid compliance.", "PARAM": "lang - Language identifier." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "SemanticMapGenerator", "type": "Class", "tier": "CRITICAL", "start_line": 665, "end_line": 1153, "tags": { "TIER": "CRITICAL", "PURPOSE": "Orchestrates the mapping process with tier-based validation.", "INVARIANT": "All entities are validated according to their TIER requirements." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 670, "end_line": 682, "tags": { "TIER": "STANDARD", "PURPOSE": "Initializes the generator with a root directory.", "PRE": "root_dir is a valid path string.", "POST": "Generator instance is ready." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_load_gitignore", "type": "Function", "tier": "STANDARD", "start_line": 684, "end_line": 700, "tags": { "TIER": "STANDARD", "PURPOSE": "Loads patterns from .gitignore file.", "PRE": ".gitignore exists in root_dir.", "POST": "Returns set of ignore patterns." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_is_ignored", "type": "Function", "tier": "STANDARD", "start_line": 702, "end_line": 736, "tags": { "TIER": "STANDARD", "PURPOSE": "Checks if a path should be ignored based on .gitignore or hardcoded defaults.", "PRE": "rel_path is a valid relative path string.", "POST": "Returns True if the path should be ignored." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "run", "type": "Function", "tier": "CRITICAL", "start_line": 738, "end_line": 751, "tags": { "TIER": "CRITICAL", "PURPOSE": "Main execution flow.", "PRE": "Generator is initialized.", "POST": "Semantic map and reports are generated." }, "relations": [ { "type": "CALLS", "target": "_walk_and_parse" }, { "type": "CALLS", "target": "_generate_artifacts" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_walk_and_parse", "type": "Function", "tier": "CRITICAL", "start_line": 753, "end_line": 782, "tags": { "TIER": "CRITICAL", "PURPOSE": "Recursively walks directories and triggers parsing.", "PRE": "root_dir exists.", "POST": "All files are scanned and entities extracted." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_process_file_results", "type": "Function", "tier": "STANDARD", "start_line": 784, "end_line": 813, "tags": { "TIER": "STANDARD", "PURPOSE": "Validates entities and calculates file scores with tier awareness.", "PRE": "Entities have been parsed from the file.", "POST": "File score is calculated and issues collected." }, "relations": [], "children": [ { "name": "validate_recursive", "type": "Function", "tier": "STANDARD", "start_line": 794, "end_line": 807, "tags": { "TIER": "STANDARD", "PURPOSE": "Recursively validates a list of entities.", "PRE": "ent_list is a list of SemanticEntity objects.", "POST": "All entities and their children are validated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_generate_artifacts", "type": "Function", "tier": "CRITICAL", "start_line": 815, "end_line": 836, "tags": { "TIER": "CRITICAL", "PURPOSE": "Writes output files with tier-based compliance data.", "PRE": "Parsing and validation are complete.", "POST": "JSON and Markdown artifacts are written to disk." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_generate_report", "type": "Function", "tier": "CRITICAL", "start_line": 838, "end_line": 891, "tags": { "TIER": "CRITICAL", "PURPOSE": "Generates the Markdown compliance report with severity levels.", "PRE": "File scores and issues are available.", "POST": "Markdown report is created in reports directory." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_collect_issues", "type": "Function", "tier": "STANDARD", "start_line": 893, "end_line": 905, "tags": { "TIER": "STANDARD", "PURPOSE": "Helper to collect issues for a specific file from the entity tree.", "PRE": "entities list and file_path are valid.", "POST": "issues list is populated with compliance issues." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_generate_compressed_map", "type": "Function", "tier": "CRITICAL", "start_line": 907, "end_line": 924, "tags": { "TIER": "CRITICAL", "PURPOSE": "Generates the token-optimized project map with enhanced Svelte details.", "PRE": "Entities have been processed.", "POST": "Markdown project map is written." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_write_entity_md", "type": "Function", "tier": "CRITICAL", "start_line": 926, "end_line": 994, "tags": { "TIER": "CRITICAL", "PURPOSE": "Recursive helper to write entity tree to Markdown with tier badges and enhanced details.", "PRE": "f is an open file handle, entity is valid.", "POST": "Entity details are written to the file." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_generate_module_map", "type": "Function", "tier": "CRITICAL", "start_line": 996, "end_line": 1151, "tags": { "TIER": "CRITICAL", "PURPOSE": "Generates a module-centric map grouping entities by directory structure.", "PRE": "Entities have been processed.", "POST": "Markdown module map is written to .ai/MODULE_MAP.md." }, "relations": [], "children": [ { "name": "_get_module_path", "type": "Function", "tier": "STANDARD", "start_line": 1008, "end_line": 1020, "tags": { "TIER": "STANDARD", "PURPOSE": "Extracts the module path from a file path.", "PRE": "file_path is a valid relative path.", "POST": "Returns a module path string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1008 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1008 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1008 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1008 } ], "score": 0.6 } }, { "name": "_collect_all_entities", "type": "Function", "tier": "STANDARD", "start_line": 1022, "end_line": 1031, "tags": { "TIER": "STANDARD", "PURPOSE": "Flattens entity tree for easier grouping.", "PRE": "entity list is valid.", "POST": "Returns flat list of all entities with their hierarchy." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1022 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1022 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1022 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 1022 } ], "score": 0.6 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "to_dict", "type": "Function", "tier": "TRIVIAL", "start_line": 130, "end_line": 130, "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": "TransactionCore", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 79, "tags": { "TIER": "CRITICAL", "SEMANTICS": "Finance, ACID, Transfer, Ledger", "PURPOSE": "Core banking transaction processor with ACID guarantees.", "LAYER": "Domain (Core)", "INVARIANT": "Negative transfers are strictly forbidden.", "TEST_DATA": "concurrency_lock -> {./fixtures/transactions.json#race_condition}" }, "relations": [ { "type": "DEPENDS_ON", "target": "[DEF:Infra:PostgresDB]" }, { "type": "DEPENDS_ON", "target": "[DEF:Infra:AuditLog]" } ], "children": [ { "name": "execute_transfer", "type": "Function", "tier": "STANDARD", "start_line": 26, "end_line": 77, "tags": { "PURPOSE": "Atomically move funds between accounts with audit trails.", "PARAM": "amount (Decimal) - Positive amount to transfer.", "PRE": "amount > 0; sender != receiver; sender_balance >= amount.", "POST": "sender_balance -= amount; receiver_balance += amount; Audit Record Created.", "SIDE_EFFECT": "Database mutation (Rows locked), Audit IO.", "UX_STATE": "Error(System) -> 500 Internal -> UI shows \"Retry later\" toast.", "UX_FEEDBACK": "Triggers specific UI flow for insufficient funds" }, "relations": [ { "type": "CALLS", "target": "atomic_transaction" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "PluginExampleShot", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 64, "tags": { "TIER": "STANDARD", "SEMANTICS": "Plugin, Core, Extension", "PURPOSE": "Reference implementation of a plugin following GRACE standards.", "LAYER": "Domain (Business Logic)", "INVARIANT": "get_schema must return valid JSON Schema." }, "relations": [ { "type": "INHERITS", "target": "PluginBase" } ], "children": [ { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 18, "end_line": 32, "tags": { "PURPOSE": "Defines input validation schema.", "POST": "Returns dict compliant with JSON Schema draft 7." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 } ], "score": 0.5333333333333333 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 62, "tags": { "PURPOSE": "Core plugin logic with structured logging and scope isolation.", "PARAM": "context (TaskContext) - Execution tools (log, progress).", "SIDE_EFFECT": "Emits logs to centralized system." }, "relations": [ { "type": "BINDS_TO", "target": "context.logger" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 } ], "score": 0.4666666666666666 } }, { "name": "id", "type": "Function", "tier": "TRIVIAL", "start_line": 15, "end_line": 15, "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": "BackendRouteShot", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 65, "tags": { "TIER": "STANDARD", "SEMANTICS": "Route, Task, API, Async", "PURPOSE": "Reference implementation of a task-based route using GRACE-Poly.", "LAYER": "Interface (API)", "INVARIANT": "TaskManager must be available in dependency graph." }, "relations": [ { "type": "IMPLEMENTS", "target": "[DEF:Std:API_FastAPI]" } ], "children": [ { "name": "create_task", "type": "Function", "tier": "STANDARD", "start_line": 24, "end_line": 63, "tags": { "PURPOSE": "Create and start a new task using TaskManager. Non-blocking.", "PARAM": "task_manager (TaskManager) - Async task executor.", "PRE": "plugin_id must match a registered plugin.", "POST": "A new task is spawned; Task ID returned immediately.", "SIDE_EFFECT": "Writes to DB, Trigger background worker.", "UX_STATE": "Error feedback -> 500 Internal Error" }, "relations": [ { "type": "CALLS", "target": "task_manager.create_task" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "FrontendComponentShot", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 76, "tags": { "TIER": "CRITICAL", "SEMANTICS": "Task, Button, Action, UX", "PURPOSE": "Action button to spawn a new task with full UX feedback cycle.", "LAYER": "UI (Presentation)", "RELATION": "CALLS -> postApi", "INVARIANT": "Must prevent double-submission while loading.", "TEST_DATA": "loading_state -> {\"isLoading\": true}", "UX_STATE": "Error -> Toast notification triggers.", "UX_FEEDBACK": "Toast success/error.", "UX_TEST": "Success -> {api_resolve: 200, expected: toast.success called}" }, "relations": [], "children": [ { "name": "spawnTask", "type": "Function", "tier": "STANDARD", "start_line": 32, "end_line": 62, "tags": { "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." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "props": [ { "name": "plugin_id", "type": "any", "default": "\"\"" }, { "name": "params", "type": "any", "default": "{}" } ], "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 23 }, { "store": "lib", "type": "READS_FROM", "line": 24 }, { "store": "lib", "type": "READS_FROM", "line": 25 }, { "store": "t", "type": "READS_FROM", "line": 52 }, { "store": "t", "type": "READS_FROM", "line": 57 }, { "store": "t", "type": "READS_FROM", "line": 74 } ] }, { "name": "DashboardTypes", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 20, "tags": { "TIER": "TRIVIAL", "PURPOSE": "TypeScript interfaces for Dashboard entities", "LAYER": "Domain" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Counter", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 17, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Simple counter demo component", "LAYER": "UI" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "state", "type": "WRITES_TO", "line": 8 } ] }, { "name": "stores_module", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 71, "tags": { "TIER": "STANDARD", "SEMANTICS": "state, stores, svelte, plugins, tasks", "PURPOSE": "Global state management using Svelte stores.", "LAYER": "UI-State" }, "relations": [], "children": [ { "name": "plugins", "type": "Data", "tier": "STANDARD", "start_line": 10, "end_line": 13, "tags": { "PURPOSE": "Store for the list of available plugins." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "tasks", "type": "Data", "tier": "STANDARD", "start_line": 15, "end_line": 18, "tags": { "PURPOSE": "Store for the list of tasks." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "selectedPlugin", "type": "Data", "tier": "STANDARD", "start_line": 20, "end_line": 23, "tags": { "PURPOSE": "Store for the currently selected plugin." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "selectedTask", "type": "Data", "tier": "STANDARD", "start_line": 25, "end_line": 28, "tags": { "PURPOSE": "Store for the currently selected task." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "currentPage", "type": "Data", "tier": "STANDARD", "start_line": 30, "end_line": 33, "tags": { "PURPOSE": "Store for the current page." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "taskLogs", "type": "Data", "tier": "STANDARD", "start_line": 35, "end_line": 38, "tags": { "PURPOSE": "Store for the logs of the currently selected task." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "fetchPlugins", "type": "Function", "tier": "STANDARD", "start_line": 40, "end_line": 54, "tags": { "PURPOSE": "Fetches plugins from the API and updates the plugins store.", "PRE": "None.", "POST": "plugins store is updated with data from the API." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 } ], "score": 0.8 } }, { "name": "fetchTasks", "type": "Function", "tier": "STANDARD", "start_line": 56, "end_line": 70, "tags": { "PURPOSE": "Fetches tasks from the API and updates the tasks store.", "PRE": "None.", "POST": "tasks store is updated with data from the API." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 56 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 56 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "toasts_module", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 38, "tags": { "SEMANTICS": "notification, toast, feedback, state", "PURPOSE": "Manages toast notifications using a Svelte writable store.", "LAYER": "UI-State" }, "relations": [], "children": [ { "name": "toasts", "type": "Data", "tier": "STANDARD", "start_line": 8, "end_line": 11, "tags": { "PURPOSE": "Writable store containing the list of active toasts." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "addToast", "type": "Function", "tier": "STANDARD", "start_line": 13, "end_line": 26, "tags": { "PURPOSE": "Adds a new toast message.", "PRE": "message string is provided.", "POST": "New toast is added to the store and scheduled for removal.", "PARAM": "duration (number) - Duration in ms before the toast is removed." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 } ], "score": 0.8 } }, { "name": "removeToast", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 37, "tags": { "PURPOSE": "Removes a toast message by ID.", "PRE": "id is provided.", "POST": "Toast is removed from the store.", "PARAM": "id (string) - The ID of the toast to remove." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "api_module", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 213, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, client, fetch, rest", "PURPOSE": "Handles all communication with the backend API.", "LAYER": "Infra-API" }, "relations": [], "children": [ { "name": "getWsUrl", "type": "Function", "tier": "STANDARD", "start_line": 12, "end_line": 27, "tags": { "PURPOSE": "Returns the WebSocket URL for a specific task, with fallback logic.", "PRE": "taskId is provided.", "POST": "Returns valid WebSocket URL string.", "PARAM": "taskId (string) - The ID of the task.", "RETURN": "string - The WebSocket URL." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 12 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 12 } ], "score": 0.8 } }, { "name": "getAuthHeaders", "type": "Function", "tier": "STANDARD", "start_line": 29, "end_line": 43, "tags": { "PURPOSE": "Returns headers with Authorization if token exists." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 } ], "score": 0.26666666666666655 } }, { "name": "fetchApi", "type": "Function", "tier": "STANDARD", "start_line": 45, "end_line": 73, "tags": { "PURPOSE": "Generic GET request wrapper.", "PRE": "endpoint string is provided.", "POST": "Returns Promise resolving to JSON data or throws on error.", "PARAM": "endpoint (string) - API endpoint.", "RETURN": "Promise - JSON response." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 45 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 45 } ], "score": 0.8 } }, { "name": "postApi", "type": "Function", "tier": "STANDARD", "start_line": 75, "end_line": 106, "tags": { "PURPOSE": "Generic POST request wrapper.", "PRE": "endpoint and body are provided.", "POST": "Returns Promise resolving to JSON data or throws on error.", "PARAM": "body (object) - Request payload.", "RETURN": "Promise - JSON response." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 } ], "score": 0.8 } }, { "name": "requestApi", "type": "Function", "tier": "STANDARD", "start_line": 108, "end_line": 143, "tags": { "PURPOSE": "Generic request wrapper.", "PRE": "endpoint and method are provided.", "POST": "Returns Promise resolving to JSON data or throws on error." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 108 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 108 } ], "score": 0.8 } }, { "name": "api", "type": "Data", "tier": "STANDARD", "start_line": 145, "end_line": 211, "tags": { "PURPOSE": "API client object with specific methods." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Utils", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 14, "tags": { "TIER": "TRIVIAL", "PURPOSE": "General utility functions (class merging)", "LAYER": "Infra", "PARAM": "{...(string | undefined | null | false)} inputs", "RETURNS": "{string}" }, "relations": [], "children": [ { "name": "cn", "type": "Function", "tier": "TRIVIAL", "start_line": 11, "end_line": 11, "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": "authStore", "type": "Store", "tier": "STANDARD", "start_line": 1, "end_line": 102, "tags": { "TIER": "STANDARD", "SEMANTICS": "auth, store, svelte, jwt, session", "PURPOSE": "Manages the global authentication state on the frontend.", "LAYER": "Feature" }, "relations": [ { "type": "MODIFIED_BY", "target": "handleLogin, handleLogout" }, { "type": "BINDS_TO", "target": "Navbar, ProtectedRoute" } ], "children": [ { "name": "AuthState", "type": "Interface", "tier": "STANDARD", "start_line": 12, "end_line": 22, "tags": { "PURPOSE": "Defines the structure of the authentication state." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "createAuthStore", "type": "Function", "tier": "STANDARD", "start_line": 31, "end_line": 98, "tags": { "PURPOSE": "Creates and configures the auth store with helper methods.", "PRE": "No preconditions - initialization function.", "POST": "Returns configured auth store with subscribe, setToken, setUser, logout, setLoading methods.", "RETURNS": "{Writable}" }, "relations": [], "children": [ { "name": "setToken", "type": "Function", "tier": "STANDARD", "start_line": 43, "end_line": 57, "tags": { "PURPOSE": "Updates the store with a new JWT token.", "PRE": "token must be a valid JWT string.", "POST": "Store updated with new token, isAuthenticated set to true.", "PARAM": "{string} token - The JWT access token." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "setUser", "type": "Function", "tier": "STANDARD", "start_line": 58, "end_line": 69, "tags": { "PURPOSE": "Sets the current user profile data.", "PRE": "User object must contain valid profile data.", "POST": "Store updated with user, isAuthenticated true, loading false.", "PARAM": "{any} user - The user profile object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "logout", "type": "Function", "tier": "STANDARD", "start_line": 70, "end_line": 83, "tags": { "PURPOSE": "Clears authentication state and storage.", "PRE": "User is currently authenticated.", "POST": "Auth token removed from localStorage, store reset to initial state." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "setLoading", "type": "Function", "tier": "STANDARD", "start_line": 84, "end_line": 95, "tags": { "PURPOSE": "Updates the loading state.", "PRE": "None.", "POST": "Store loading state updated.", "PARAM": "{boolean} loading - Loading status." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 84 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 84 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 84 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Debounce", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 25, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Debounce utility for limiting function execution rate", "LAYER": "Infra", "PARAM": "{number} wait - The delay in milliseconds", "RETURNS": "{Function} - The debounced function" }, "relations": [], "children": [ { "name": "debounce", "type": "Function", "tier": "TRIVIAL", "start_line": 14, "end_line": 14, "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": "taskDrawer", "type": "Store", "tier": "CRITICAL", "start_line": 1, "end_line": 95, "tags": { "TIER": "CRITICAL", "PURPOSE": "Manage Task Drawer visibility and resource-to-task mapping", "LAYER": "UI", "INVARIANT": "resourceTaskMap always reflects current task associations", "UX_STATE": "Closed -> Drawer hidden, no active task", "PARAM": "{string} resourceId - Resource ID", "RETURNS": "{Object|null} Task info or null if no active task" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "taskDrawer", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 95, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/stores/taskDrawer.js", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "openDrawerForTask", "type": "Function", "tier": "TRIVIAL", "start_line": 26, "end_line": 26, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "openDrawer", "type": "Function", "tier": "TRIVIAL", "start_line": 39, "end_line": 39, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "closeDrawer", "type": "Function", "tier": "TRIVIAL", "start_line": 52, "end_line": 52, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "updateResourceTask", "type": "Function", "tier": "TRIVIAL", "start_line": 67, "end_line": 67, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getTaskForResource", "type": "Function", "tier": "TRIVIAL", "start_line": 87, "end_line": 87, "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": "sidebar", "type": "Store", "tier": "STANDARD", "start_line": 1, "end_line": 94, "tags": { "TIER": "STANDARD", "PURPOSE": "Manage sidebar visibility and navigation state", "LAYER": "UI", "INVARIANT": "isExpanded state is always synced with localStorage", "UX_STATE": "Toggling -> Animation plays for 200ms", "PARAM": "{boolean} isOpen - Whether the mobile overlay should be open" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "sidebar", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 94, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/stores/sidebar.js", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "toggleSidebar", "type": "Function", "tier": "TRIVIAL", "start_line": 51, "end_line": 51, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "setActiveItem", "type": "Function", "tier": "TRIVIAL", "start_line": 64, "end_line": 64, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "setMobileOpen", "type": "Function", "tier": "TRIVIAL", "start_line": 76, "end_line": 76, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "closeMobile", "type": "Function", "tier": "TRIVIAL", "start_line": 83, "end_line": 83, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "toggleMobileSidebar", "type": "Function", "tier": "TRIVIAL", "start_line": 90, "end_line": 90, "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": "activity", "type": "Store", "tier": "STANDARD", "start_line": 1, "end_line": 33, "tags": { "TIER": "STANDARD", "PURPOSE": "Track active task count for navbar indicator", "LAYER": "UI", "UX_STATE": "Active -> Badge shows count of running tasks" }, "relations": [ { "type": "DEPENDS_ON", "target": "WebSocket connection, taskDrawer store" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "frontend.src.lib.stores.__tests__.test_sidebar", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 142, "tags": { "TIER": "STANDARD", "PURPOSE": "Unit tests for sidebar store", "LAYER": "UI" }, "relations": [ { "type": "VERIFIES", "target": "frontend.src.lib.stores.sidebar" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "frontend.src.lib.stores.__tests__.sidebar", "type": "Module", "tier": "STANDARD", "start_line": 2, "end_line": 132, "tags": { "TIER": "STANDARD", "SEMANTICS": "sidebar, store, tests, mobile, navigation", "PURPOSE": "Unit tests for sidebar store", "LAYER": "Domain (Tests)", "INVARIANT": "Sidebar store transitions must be deterministic across desktop/mobile toggles." }, "relations": [], "children": [ { "name": "test_sidebar_initial_state", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 43, "tags": { "PURPOSE": "Verify initial sidebar store values when no persisted state is available.", "TEST": "Store initializes with default values", "PRE": "No localStorage state", "POST": "Default state is { isExpanded: true, activeCategory: 'dashboards', activeItem: '/dashboards', isMobileOpen: false }" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 } ], "score": 0.8 } }, { "name": "test_toggleSidebar", "type": "Function", "tier": "STANDARD", "start_line": 45, "end_line": 69, "tags": { "PURPOSE": "Verify desktop sidebar expansion toggles deterministically.", "TEST": "toggleSidebar toggles isExpanded state", "PRE": "Store is initialized", "POST": "isExpanded is toggled from previous value" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 45 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 45 } ], "score": 0.8 } }, { "name": "test_setActiveItem", "type": "Function", "tier": "STANDARD", "start_line": 71, "end_line": 92, "tags": { "TEST": "setActiveItem updates activeCategory and activeItem", "PRE": "Store is initialized", "POST": "activeCategory and activeItem are updated" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 } ], "score": 0.5333333333333333 } }, { "name": "test_mobile_functions", "type": "Function", "tier": "STANDARD", "start_line": 94, "end_line": 129, "tags": { "TEST": "Mobile functions correctly update isMobileOpen", "PRE": "Store is initialized", "POST": "isMobileOpen is correctly updated" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 94 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 94 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 94 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 94 } ], "score": 0.5333333333333333 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "frontend.src.lib.stores.__tests__.test_activity", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 119, "tags": { "TIER": "STANDARD", "PURPOSE": "Unit tests for activity store", "LAYER": "UI" }, "relations": [ { "type": "VERIFIES", "target": "frontend.src.lib.stores.activity" }, { "type": "DEPENDS_ON", "target": "frontend.src.lib.stores.taskDrawer" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "setupTests", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 63, "tags": { "TIER": "STANDARD", "PURPOSE": "Global test setup with mocks for SvelteKit modules", "LAYER": "UI" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "frontend.src.lib.stores.__tests__.test_taskDrawer", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 160, "tags": { "TIER": "CRITICAL", "SEMANTICS": "task-drawer, store, mapping, tests", "PURPOSE": "Unit tests for task drawer store", "LAYER": "UI", "INVARIANT": "Store state transitions remain deterministic for open/close and task-status mapping." }, "relations": [ { "type": "VERIFIES", "target": "frontend.src.lib.stores.taskDrawer" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "navigation", "type": "Mock", "tier": "STANDARD", "start_line": 1, "end_line": 10, "tags": { "PURPOSE": "Mock for $app/navigation in tests" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "stores", "type": "Mock", "tier": "STANDARD", "start_line": 1, "end_line": 23, "tags": { "PURPOSE": "Mock for $app/stores in tests" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "environment", "type": "Mock", "tier": "STANDARD", "start_line": 1, "end_line": 8, "tags": { "PURPOSE": "Mock for $app/environment in tests" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "frontend.src.lib.api.reports", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 83, "tags": { "TIER": "CRITICAL", "SEMANTICS": "frontend, api_client, reports, wrapper", "PURPOSE": "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." }, "relations": [ { "type": "DEPENDS_ON", "target": "[DEF:api_module]" } ], "children": [ { "name": "buildReportQueryString", "type": "Function", "tier": "STANDARD", "start_line": 11, "end_line": 36, "tags": { "PURPOSE": "Build query string for reports list endpoint from filter options.", "PRE": "options is an object with optional report query fields.", "POST": "Returns URL query string without leading '?'." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 11 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 11 } ], "score": 0.8 } }, { "name": "normalizeApiError", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 54, "tags": { "PURPOSE": "Convert unknown API exceptions into deterministic UI-consumable error objects.", "PRE": "error may be Error/string/object.", "POST": "Returns structured error object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "getReports", "type": "Function", "tier": "STANDARD", "start_line": 56, "end_line": 68, "tags": { "PURPOSE": "Fetch unified report list using existing request wrapper.", "PRE": "valid auth context for protected endpoint.", "POST": "Returns parsed payload or structured error for UI-state mapping." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 56 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 56 } ], "score": 0.8 } }, { "name": "getReportDetail", "type": "Function", "tier": "STANDARD", "start_line": 70, "end_line": 81, "tags": { "PURPOSE": "Fetch one report detail by report_id.", "PRE": "reportId is non-empty string; valid auth context.", "POST": "Returns parsed detail payload or structured error object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Select", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 53, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "select, dropdown, form-field, ui-atom", "PURPOSE": "Standardized dropdown selection component.", "LAYER": "Atom" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 11 }, { "store": "bindable", "type": "WRITES_TO", "line": 17 }, { "store": "props", "type": "WRITES_TO", "line": 22 } ] }, { "name": "ui", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 19, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "ui, components, library, atomic-design", "PURPOSE": "Central export point for standardized UI components.", "LAYER": "Atom", "INVARIANT": "All components exported here must follow Semantic Protocol." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "PageHeader", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 40, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "page-header, layout-atom", "PURPOSE": "Standardized page header with title and action area.", "LAYER": "Atom" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 11 }, { "store": "props", "type": "WRITES_TO", "line": 21 } ] }, { "name": "Card", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 51, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "card, container, ui-atom", "PURPOSE": "Standardized container with padding and elevation.", "LAYER": "Atom" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 11 }, { "store": "props", "type": "WRITES_TO", "line": 21 } ] }, { "name": "Button", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 68, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "button, ui-atom, interactive", "PURPOSE": "Define component interface and default values (Svelte 5 Runes).", "LAYER": "Atom", "INVARIANT": "Supports accessible labels and keyboard navigation." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 14 }, { "store": "props", "type": "WRITES_TO", "line": 31 } ] }, { "name": "Input", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 60, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "input, form-field, ui-atom", "PURPOSE": "Standardized text input component with label and error handling.", "LAYER": "Atom", "INVARIANT": "Consistent spacing and focus states." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 13 }, { "store": "bindable", "type": "WRITES_TO", "line": 19 }, { "store": "props", "type": "WRITES_TO", "line": 26 } ] }, { "name": "LanguageSwitcher", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 28, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "language-switcher, i18n-ui, ui-atom", "PURPOSE": "Dropdown component to switch between supported languages.", "LAYER": "Atom", "RELATION": "BINDS_TO -> i18n.locale" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 12 }, { "store": "locale", "type": "WRITES_TO", "line": 24 } ] }, { "name": "i18n", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 83, "tags": { "TIER": "STANDARD", "SEMANTICS": "i18n, localization, svelte-store, translation", "PURPOSE": "Determines the starting locale.", "LAYER": "Infra", "INVARIANT": "Persistence is handled via LocalStorage.", "RETURNS": "{Locale}" }, "relations": [ { "type": "DEPENDS_ON", "target": "locales/ru.json" }, { "type": "DEPENDS_ON", "target": "locales/en.json" } ], "children": [ { "name": "locale", "type": "Store", "tier": "STANDARD", "start_line": 34, "end_line": 44, "tags": { "PURPOSE": "Holds the current active locale string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "t", "type": "Store", "tier": "STANDARD", "start_line": 46, "end_line": 55, "tags": { "PURPOSE": "Derived store providing the translation dictionary.", "RELATION": "BINDS_TO -> locale" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_", "type": "Function", "tier": "STANDARD", "start_line": 57, "end_line": 81, "tags": { "PURPOSE": "Get translation by key path.", "PARAM": "key - Translation key path (e.g., 'nav.dashboard')", "RETURNS": "Translation string or key if not found" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 } ], "score": 0.26666666666666655 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ReportCard", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 71, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, card, type-profile, accessibility, fallback", "PURPOSE": "Render one report with explicit textual type label and profile-driven visual variant.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> frontend/src/lib/i18n/index.ts", "INVARIANT": "Unknown task type always uses fallback profile.", "UX_STATE": "Ready -> Card displays summary/status/type.", "UX_RECOVERY": "Missing fields are rendered with explicit placeholder text." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "select" ], "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 17 }, { "store": "props", "type": "WRITES_TO", "line": 20 }, { "store": "derived", "type": "WRITES_TO", "line": 23 }, { "store": "derived", "type": "WRITES_TO", "line": 24 }, { "store": "t", "type": "WRITES_TO", "line": 35 }, { "store": "t", "type": "WRITES_TO", "line": 36 }, { "store": "t", "type": "WRITES_TO", "line": 37 }, { "store": "t", "type": "WRITES_TO", "line": 38 }, { "store": "t", "type": "READS_FROM", "line": 39 }, { "store": "t", "type": "READS_FROM", "line": 43 }, { "store": "t", "type": "READS_FROM", "line": 45 }, { "store": "t", "type": "WRITES_TO", "line": 57 }, { "store": "t", "type": "READS_FROM", "line": 61 }, { "store": "t", "type": "WRITES_TO", "line": 67 } ] }, { "name": "ReportCard", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 71, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/reports/ReportCard.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "getStatusClass", "type": "Function", "tier": "TRIVIAL", "start_line": 26, "end_line": 26, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getStatusLabel", "type": "Function", "tier": "TRIVIAL", "start_line": 34, "end_line": 34, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "formatDate", "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": "onSelect", "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 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ReportsList", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 37, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, list, card, unified, mixed-types", "PURPOSE": "Render unified list of normalized reports with canonical minimum fields.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> frontend/src/lib/i18n/index.ts", "INVARIANT": "Every rendered row shows task_type label, status, summary, and updated_at.", "UX_STATE": "Ready -> Mixed-type list visible and scannable.", "UX_FEEDBACK": "Click on report emits select event.", "UX_RECOVERY": "Unknown/missing values rendered with explicit placeholders." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "select" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 19 } ] }, { "name": "ReportsList", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 37, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/reports/ReportsList.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "handleSelect", "type": "Function", "tier": "TRIVIAL", "start_line": 22, "end_line": 22, "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": "frontend.src.lib.components.reports.reportTypeProfiles", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 59, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, ui, profiles, fallback, mapping", "PURPOSE": "Deterministic mapping from report task_type to visual profile with one fallback.", "LAYER": "UI", "INVARIANT": "Unknown type always resolves to fallback profile." }, "relations": [ { "type": "DEPENDS_ON", "target": "frontend/src/lib/i18n/index.ts" } ], "children": [ { "name": "getReportTypeProfile", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 57, "tags": { "PURPOSE": "Resolve visual profile by task type with guaranteed fallback.", "PRE": "taskType may be known/unknown/empty.", "POST": "Returns one profile object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ReportDetailPanel", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 66, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, detail, diagnostics, next-actions, placeholders", "PURPOSE": "Display detailed report context with diagnostics and actionable recovery guidance.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> frontend/src/lib/i18n/index.ts", "INVARIANT": "Failed/partial reports surface actionable hints when available.", "UX_STATE": "Ready -> Report detail content visible.", "UX_RECOVERY": "Failed/partial report shows next actions and placeholder-safe diagnostics." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 15 }, { "store": "props", "type": "WRITES_TO", "line": 17 }, { "store": "t", "type": "READS_FROM", "line": 21 }, { "store": "t", "type": "READS_FROM", "line": 27 }, { "store": "t", "type": "READS_FROM", "line": 29 }, { "store": "t", "type": "WRITES_TO", "line": 35 }, { "store": "t", "type": "WRITES_TO", "line": 38 }, { "store": "t", "type": "WRITES_TO", "line": 49 }, { "store": "t", "type": "WRITES_TO", "line": 50 }, { "store": "t", "type": "WRITES_TO", "line": 55 } ] }, { "name": "ReportDetailPanel", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 66, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/reports/ReportDetailPanel.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "notProvided", "type": "Function", "tier": "TRIVIAL", "start_line": 19, "end_line": 19, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "formatDate", "type": "Function", "tier": "TRIVIAL", "start_line": 26, "end_line": 26, "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": "frontend.src.lib.components.reports.__tests__.reports_filter_performance", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 48, "tags": { "TIER": "STANDARD", "SEMANTICS": "tests, reports, performance, filtering", "PURPOSE": "Guard test for report filter responsiveness on moderate in-memory dataset.", "LAYER": "UI (Tests)" }, "relations": [ { "type": "TESTS", "target": "frontend/src/routes/reports/+page.svelte" } ], "children": [ { "name": "applyFilters", "type": "Function", "tier": "TRIVIAL", "start_line": 10, "end_line": 10, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "makeDataset", "type": "Function", "tier": "TRIVIAL", "start_line": 18, "end_line": 18, "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": "frontend.src.lib.components.reports.__tests__.reports_page.integration", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 40, "tags": { "TIER": "CRITICAL", "SEMANTICS": "tests, reports, integration, mixed-types, rendering", "PURPOSE": "Integration-style checks for unified mixed-type reports rendering expectations.", "LAYER": "UI (Tests)", "INVARIANT": "Mixed fixture includes all supported report types in one list." }, "relations": [ { "type": "TESTS", "target": "frontend/src/routes/reports/+page.svelte" }, { "type": "TESTS", "target": "frontend/src/lib/components/reports/ReportsList.svelte" } ], "children": [ { "name": "collectVisibleTypeLabels", "type": "Function", "tier": "TRIVIAL", "start_line": 13, "end_line": 13, "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": "frontend.src.lib.components.reports.__tests__.report_type_profiles", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 32, "tags": { "TIER": "CRITICAL", "SEMANTICS": "tests, reports, type-profiles, fallback", "PURPOSE": "Validate report type profile mapping and unknown fallback behavior.", "LAYER": "UI (Tests)", "INVARIANT": "Unknown task_type always resolves to the fallback profile." }, "relations": [ { "type": "TESTS", "target": "frontend/src/lib/components/reports/reportTypeProfiles.js" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "frontend.src.lib.components.reports.__tests__.report_card.ux", "type": "Module", "tier": "CRITICAL", "start_line": 4, "end_line": 72, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, ux-tests, card, states, recovery", "PURPOSE": "Test UX states and transitions for ReportCard component", "LAYER": "UI", "INVARIANT": "Each test asserts at least one observable UX contract outcome.", "UX_STATE": "Ready -> Card displays summary/status/type.", "UX_FEEDBACK": "Click on report emits select event.", "UX_RECOVERY": "Missing fields are rendered with explicit placeholder text." }, "relations": [ { "type": "VERIFIES", "target": "../ReportCard.svelte" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "frontend.src.lib.components.reports.__tests__.report_detail.ux", "type": "Module", "tier": "CRITICAL", "start_line": 4, "end_line": 74, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, ux-tests, detail, diagnostics, recovery", "PURPOSE": "Test UX states and recovery for ReportDetailPanel component", "LAYER": "UI", "INVARIANT": "Detail UX tests keep placeholder-safe rendering and recovery visibility verifiable.", "UX_STATE": "Ready -> Report detail content visible.", "UX_RECOVERY": "Failed/partial report shows next actions and placeholder-safe diagnostics." }, "relations": [ { "type": "VERIFIES", "target": "../ReportDetailPanel.svelte" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "frontend.src.lib.components.reports.__tests__.report_detail.integration", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 45, "tags": { "TIER": "CRITICAL", "SEMANTICS": "tests, reports, detail, recovery-guidance, integration", "PURPOSE": "Validate detail-panel behavior for failed reports and recovery guidance visibility.", "LAYER": "UI (Tests)", "INVARIANT": "Failed report detail exposes actionable next actions when available." }, "relations": [ { "type": "TESTS", "target": "frontend/src/lib/components/reports/ReportDetailPanel.svelte" }, { "type": "TESTS", "target": "frontend/src/routes/reports/+page.svelte" } ], "children": [ { "name": "buildFailedDetailFixture", "type": "Function", "tier": "TRIVIAL", "start_line": 13, "end_line": 13, "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": "reports.fixtures", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 90, "tags": { "TIER": "STANDARD", "SEMANTICS": "reports, fixtures, test-data", "PURPOSE": "Shared frontend fixtures for unified reports states.", "LAYER": "UI" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Sidebar", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 305, "tags": { "TIER": "CRITICAL", "PURPOSE": "Persistent left sidebar with resource categories navigation", "LAYER": "UI", "RELATION": "BINDS_TO -> sidebarStore", "SEMANTICS": "Navigation", "INVARIANT": "Always shows active category and item", "UX_STATE": "Toggling -> Animation plays for 200ms", "UX_FEEDBACK": "Active item highlighted with different background", "UX_RECOVERY": "Click outside on mobile closes overlay" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "app", "type": "READS_FROM", "line": 18 }, { "store": "lib", "type": "READS_FROM", "line": 24 }, { "store": "lib", "type": "READS_FROM", "line": 25 }, { "store": "app", "type": "READS_FROM", "line": 26 }, { "store": "lib", "type": "READS_FROM", "line": 27 }, { "store": "t", "type": "READS_FROM", "line": 33 }, { "store": "t", "type": "READS_FROM", "line": 38 }, { "store": "t", "type": "READS_FROM", "line": 43 }, { "store": "t", "type": "READS_FROM", "line": 48 }, { "store": "t", "type": "READS_FROM", "line": 53 }, { "store": "t", "type": "READS_FROM", "line": 58 }, { "store": "t", "type": "READS_FROM", "line": 60 }, { "store": "t", "type": "READS_FROM", "line": 67 }, { "store": "t", "type": "READS_FROM", "line": 71 }, { "store": "t", "type": "READS_FROM", "line": 75 }, { "store": "t", "type": "READS_FROM", "line": 80 }, { "store": "t", "type": "READS_FROM", "line": 81 }, { "store": "t", "type": "READS_FROM", "line": 82 }, { "store": "sidebarStore", "type": "READS_FROM", "line": 97 }, { "store": "sidebarStore", "type": "WRITES_TO", "line": 98 }, { "store": "sidebarStore", "type": "WRITES_TO", "line": 99 }, { "store": "sidebarStore", "type": "WRITES_TO", "line": 100 }, { "store": "sidebarStore", "type": "WRITES_TO", "line": 101 }, { "store": "page", "type": "READS_FROM", "line": 108 }, { "store": "page", "type": "READS_FROM", "line": 108 }, { "store": "page", "type": "READS_FROM", "line": 110 }, { "store": "page", "type": "WRITES_TO", "line": 114 }, { "store": "page", "type": "READS_FROM", "line": 170 } ] }, { "name": "Sidebar", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 305, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/Sidebar.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "buildCategories", "type": "Function", "tier": "TRIVIAL", "start_line": 29, "end_line": 29, "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": 118, "end_line": 118, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleCategoryToggle", "type": "Function", "tier": "TRIVIAL", "start_line": 127, "end_line": 127, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSubItemClick", "type": "Function", "tier": "TRIVIAL", "start_line": 149, "end_line": 149, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleToggleClick", "type": "Function", "tier": "TRIVIAL", "start_line": 158, "end_line": 158, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleOverlayClick", "type": "Function", "tier": "TRIVIAL", "start_line": 164, "end_line": 164, "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": "TopNavbar", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 209, "tags": { "TIER": "CRITICAL", "PURPOSE": "Unified top navigation bar with Logo, Search, Activity, and User menu", "LAYER": "UI", "RELATION": "BINDS_TO -> activityStore, authStore", "SEMANTICS": "Navigation, UserSession", "INVARIANT": "Always visible on non-login pages", "UX_STATE": "SearchFocused -> Search input expands", "UX_FEEDBACK": "Activity badge shows count of running tasks", "UX_RECOVERY": "Click outside closes dropdowns" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "activityClick" ], "data_flow": [ { "store": "app", "type": "READS_FROM", "line": 18 }, { "store": "lib", "type": "READS_FROM", "line": 19 }, { "store": "lib", "type": "READS_FROM", "line": 24 }, { "store": "lib", "type": "READS_FROM", "line": 25 }, { "store": "lib", "type": "READS_FROM", "line": 26 }, { "store": "lib", "type": "READS_FROM", "line": 27 }, { "store": "lib", "type": "READS_FROM", "line": 28 }, { "store": "sidebarStore", "type": "READS_FROM", "line": 35 }, { "store": "activityStore", "type": "READS_FROM", "line": 36 }, { "store": "activityStore", "type": "READS_FROM", "line": 37 }, { "store": "auth", "type": "READS_FROM", "line": 38 }, { "store": "t", "type": "WRITES_TO", "line": 124 }, { "store": "t", "type": "READS_FROM", "line": 192 }, { "store": "t", "type": "READS_FROM", "line": 202 } ] }, { "name": "TopNavbar", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 209, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/TopNavbar.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "toggleUserMenu", "type": "Function", "tier": "TRIVIAL", "start_line": 40, "end_line": 40, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "closeUserMenu", "type": "Function", "tier": "TRIVIAL", "start_line": 45, "end_line": 45, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleLogout", "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": "handleActivityClick", "type": "Function", "tier": "TRIVIAL", "start_line": 55, "end_line": 55, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSearchFocus", "type": "Function", "tier": "TRIVIAL", "start_line": 67, "end_line": 67, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSearchBlur", "type": "Function", "tier": "TRIVIAL", "start_line": 71, "end_line": 71, "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": 75, "end_line": 75, "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": 85, "end_line": 85, "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": "Breadcrumbs", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 185, "tags": { "TIER": "STANDARD", "PURPOSE": "Display page hierarchy navigation", "LAYER": "UI", "RELATION": "DEPENDS_ON -> page store", "INVARIANT": "Always shows current page path", "UX_STATE": "Idle -> Breadcrumbs showing current path", "UX_FEEDBACK": "Hover on breadcrumb shows clickable state", "UX_RECOVERY": "Click breadcrumb to navigate", "PARAM": "{string} segment - URL segment", "RETURNS": "{string} Formatted label" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "app", "type": "READS_FROM", "line": 15 }, { "store": "lib", "type": "READS_FROM", "line": 16 }, { "store": "lib", "type": "READS_FROM", "line": 17 }, { "store": "props", "type": "WRITES_TO", "line": 19 }, { "store": "derived", "type": "WRITES_TO", "line": 22 }, { "store": "page", "type": "READS_FROM", "line": 23 } ] }, { "name": "Breadcrumbs", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 185, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/Breadcrumbs.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "getBreadcrumbs", "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": "formatBreadcrumbLabel", "type": "Function", "tier": "TRIVIAL", "start_line": 67, "end_line": 67, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getCrumbMeta", "type": "Function", "tier": "TRIVIAL", "start_line": 87, "end_line": 87, "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": "TaskDrawer", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 305, "tags": { "TIER": "CRITICAL", "PURPOSE": "Global task drawer for monitoring background operations", "LAYER": "UI", "RELATION": "BINDS_TO -> taskDrawerStore, WebSocket", "SEMANTICS": "TaskLogViewer", "INVARIANT": "Drawer shows logs for active task or remains closed", "UX_STATE": "InputRequired -> Interactive form rendered in drawer", "UX_FEEDBACK": "Back button returns to task list", "UX_RECOVERY": "Back button shows task list when viewing task details" }, "relations": [], "children": [ { "name": "loadRecentTasks", "type": "Function", "tier": "STANDARD", "start_line": 125, "end_line": 144, "tags": { "PURPOSE": "Load recent tasks for list mode display", "POST": "recentTasks array populated with task list" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 125 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 125 } ], "score": 0.7333333333333334 } }, { "name": "selectTask", "type": "Function", "tier": "STANDARD", "start_line": 146, "end_line": 156, "tags": { "PURPOSE": "Select a task from list to view details" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 146 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 146 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 146 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 146 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 146 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 146 } ], "score": 0.26666666666666655 } }, { "name": "goBackToList", "type": "Function", "tier": "STANDARD", "start_line": 158, "end_line": 170, "tags": { "PURPOSE": "Return to task list view from task details" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 158 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 158 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 158 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 158 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 158 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 158 } ], "score": 0.26666666666666655 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 22 }, { "store": "lib", "type": "READS_FROM", "line": 25 }, { "store": "lib", "type": "READS_FROM", "line": 26 }, { "store": "lib", "type": "READS_FROM", "line": 27 }, { "store": "taskDrawerStore", "type": "READS_FROM", "line": 38 }, { "store": "taskDrawerStore", "type": "WRITES_TO", "line": 39 }, { "store": "taskDrawerStore", "type": "WRITES_TO", "line": 40 }, { "store": "t", "type": "READS_FROM", "line": 225 }, { "store": "t", "type": "READS_FROM", "line": 241 }, { "store": "t", "type": "READS_FROM", "line": 289 }, { "store": "t", "type": "READS_FROM", "line": 298 } ] }, { "name": "TaskDrawer", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 305, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/TaskDrawer.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "handleClose", "type": "Function", "tier": "TRIVIAL", "start_line": 53, "end_line": 53, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "goToReportsPage", "type": "Function", "tier": "TRIVIAL", "start_line": 58, "end_line": 58, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleOverlayClick", "type": "Function", "tier": "TRIVIAL", "start_line": 64, "end_line": 64, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "connectWebSocket", "type": "Function", "tier": "TRIVIAL", "start_line": 71, "end_line": 71, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "disconnectWebSocket", "type": "Function", "tier": "TRIVIAL", "start_line": 118, "end_line": 118, "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": "test_breadcrumbs.svelte", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 105, "tags": { "PURPOSE": "Auto-generated module for frontend/src/lib/components/layout/__tests__/test_breadcrumbs.svelte.js", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "getBreadcrumbs", "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": "formatBreadcrumbLabel", "type": "Function", "tier": "TRIVIAL", "start_line": 47, "end_line": 47, "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": "ErrorPage", "type": "Page", "tier": "STANDARD", "start_line": 1, "end_line": 24, "tags": { "TIER": "STANDARD", "PURPOSE": "Global error page displaying HTTP status and messages", "LAYER": "UI", "UX_STATE": "Error -> Displays error code and message with home link" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "RootLayoutConfig", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 9, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Root layout configuration (SPA mode)", "LAYER": "Infra" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "HomePage", "type": "Page", "tier": "CRITICAL", "start_line": 1, "end_line": 45, "tags": { "TIER": "CRITICAL", "PURPOSE": "Redirect to Dashboard Hub as per UX requirements", "LAYER": "UI", "INVARIANT": "Always redirects to /dashboards", "UX_STATE": "Loading -> Shows loading indicator", "UX_FEEDBACK": "Redirects to /dashboards" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "load", "type": "Function", "tier": "STANDARD", "start_line": 3, "end_line": 23, "tags": { "PURPOSE": "Loads initial plugin data for the dashboard.", "PRE": "None.", "POST": "Returns an object with plugins or an error message.", "TYPE": "{import('./$types').PageLoad} */" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 3 } ], "score": 0.9 } }, { "name": "layout", "type": "Module", "tier": "STANDARD", "start_line": 16, "end_line": 77, "tags": { "TIER": "STANDARD", "SEMANTICS": "app-layout, auth-gating, navigation-shell", "PURPOSE": "Bind global layout shell and conditional login/full-app rendering.", "LAYER": "UI", "RELATION": "BINDS_TO -> frontend.src.lib.components.layout.Sidebar", "INVARIANT": "Login route bypasses shell; all other routes are wrapped by ProtectedRoute." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatasetHub", "type": "Page", "tier": "CRITICAL", "start_line": 1, "end_line": 780, "tags": { "TIER": "CRITICAL", "PURPOSE": "Dataset Hub - Dedicated hub for datasets with mapping progress", "LAYER": "UI", "RELATION": "BINDS_TO -> sidebarStore, taskDrawerStore", "INVARIANT": "Always shows environment selector and dataset grid", "UX_STATE": "BulkAction-Modal -> Map Columns or Generate Docs modal open", "UX_FEEDBACK": "Floating panel slides up from bottom when items selected", "UX_RECOVERY": "Refresh button reloads dataset list" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "+page", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 780, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/datasets/+page.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "loadEnvironments", "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": "loadDatasets", "type": "Function", "tier": "TRIVIAL", "start_line": 94, "end_line": 94, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleEnvChange", "type": "Function", "tier": "TRIVIAL", "start_line": 146, "end_line": 146, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSearch", "type": "Function", "tier": "TRIVIAL", "start_line": 154, "end_line": 154, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handlePageChange", "type": "Function", "tier": "TRIVIAL", "start_line": 159, "end_line": 159, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handlePageSizeChange", "type": "Function", "tier": "TRIVIAL", "start_line": 165, "end_line": 165, "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": 172, "end_line": 172, "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": 181, "end_line": 181, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSelectAll", "type": "Function", "tier": "TRIVIAL", "start_line": 192, "end_line": 192, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSelectVisible", "type": "Function", "tier": "TRIVIAL", "start_line": 213, "end_line": 213, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleAction", "type": "Function", "tier": "TRIVIAL", "start_line": 224, "end_line": 224, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleBulkMapColumns", "type": "Function", "tier": "TRIVIAL", "start_line": 242, "end_line": 242, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleBulkGenerateDocs", "type": "Function", "tier": "TRIVIAL", "start_line": 297, "end_line": 297, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleTaskStatusClick", "type": "Function", "tier": "TRIVIAL", "start_line": 328, "end_line": 328, "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": 336, "end_line": 336, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getMappingProgressClass", "type": "Function", "tier": "TRIVIAL", "start_line": 353, "end_line": 353, "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": "DatasetDetail", "type": "Page", "tier": "CRITICAL", "start_line": 1, "end_line": 393, "tags": { "TIER": "CRITICAL", "PURPOSE": "Dataset Detail View - Shows detailed dataset information with columns, SQL, and linked dashboards", "LAYER": "UI", "RELATION": "BINDS_TO -> sidebarStore", "INVARIANT": "Always shows dataset details when loaded", "UX_STATE": "Error -> Shows error banner with retry button", "UX_FEEDBACK": "Clicking linked dashboard navigates to dashboard detail", "UX_RECOVERY": "Refresh button reloads dataset details" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "+page", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 393, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/datasets/[id]/+page.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "loadDatasetDetail", "type": "Function", "tier": "TRIVIAL", "start_line": 39, "end_line": 39, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "navigateToDashboard", "type": "Function", "tier": "TRIVIAL", "start_line": 60, "end_line": 60, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "goBack", "type": "Function", "tier": "TRIVIAL", "start_line": 65, "end_line": 65, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getColumnTypeClass", "type": "Function", "tier": "TRIVIAL", "start_line": 70, "end_line": 70, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getMappingProgress", "type": "Function", "tier": "TRIVIAL", "start_line": 94, "end_line": 94, "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": "UnifiedReportsPage", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 194, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, unified, filters, loading, empty, error", "PURPOSE": "Unified reports page with filtering and resilient UX states for mixed task types.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> frontend/src/lib/components/reports/ReportsList.svelte", "INVARIANT": "List state remains deterministic for active filter set.", "UX_STATE": "Error -> Inline error with retry preserving filters.", "UX_FEEDBACK": "Filter change reloads list immediately.", "UX_RECOVERY": "Retry and clear filters actions available." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 22 }, { "store": "lib", "type": "READS_FROM", "line": 23 }, { "store": "lib", "type": "READS_FROM", "line": 24 }, { "store": "lib", "type": "READS_FROM", "line": 25 }, { "store": "lib", "type": "READS_FROM", "line": 26 }, { "store": "t", "type": "READS_FROM", "line": 40 }, { "store": "t", "type": "READS_FROM", "line": 42 }, { "store": "t", "type": "READS_FROM", "line": 43 }, { "store": "t", "type": "READS_FROM", "line": 48 }, { "store": "t", "type": "WRITES_TO", "line": 115 }, { "store": "t", "type": "READS_FROM", "line": 146 }, { "store": "t", "type": "READS_FROM", "line": 153 }, { "store": "t", "type": "READS_FROM", "line": 160 }, { "store": "t", "type": "READS_FROM", "line": 166 }, { "store": "t", "type": "READS_FROM", "line": 166 }, { "store": "t", "type": "READS_FROM", "line": 171 }, { "store": "t", "type": "READS_FROM", "line": 175 }, { "store": "t", "type": "READS_FROM", "line": 177 } ] }, { "name": "+page", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 194, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/reports/+page.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "buildQuery", "type": "Function", "tier": "TRIVIAL", "start_line": 55, "end_line": 55, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "loadReports", "type": "Function", "tier": "TRIVIAL", "start_line": 66, "end_line": 66, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "hasActiveFilters", "type": "Function", "tier": "TRIVIAL", "start_line": 83, "end_line": 83, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "clearFilters", "type": "Function", "tier": "TRIVIAL", "start_line": 87, "end_line": 87, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "onFilterChange", "type": "Function", "tier": "TRIVIAL", "start_line": 96, "end_line": 96, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "onSelectReport", "type": "Function", "tier": "TRIVIAL", "start_line": 103, "end_line": 103, "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": "LoginPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 158, "tags": { "TIER": "STANDARD", "SEMANTICS": "login, auth, ui, form", "PURPOSE": "Provides the user interface for local and ADFS authentication.", "LAYER": "UI", "RELATION": "CALLS -> api.auth.login", "INVARIANT": "Shows both local login form and ADFS SSO button." }, "relations": [], "children": [ { "name": "handleLogin", "type": "Function", "tier": "STANDARD", "start_line": 24, "end_line": 75, "tags": { "PURPOSE": "Submits the local login form to the backend.", "PRE": "Username and password are not empty.", "POST": "User is authenticated and redirected on success." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 24 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 24 } ], "score": 0.8 } }, { "name": "handleADFSLogin", "type": "Function", "tier": "STANDARD", "start_line": 77, "end_line": 84, "tags": { "PURPOSE": "Redirects the user to the ADFS login endpoint." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 } ], "score": 0.26666666666666655 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "app", "type": "READS_FROM", "line": 17 }, { "store": "auth", "type": "READS_FROM", "line": 87 } ] }, { "name": "StorageIndexPage", "type": "Page", "tier": "TRIVIAL", "start_line": 1, "end_line": 16, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Redirect to the backups page as the default storage view.", "LAYER": "Page", "INVARIANT": "Always redirects to /storage/backups." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "StorageReposPage", "type": "Page", "tier": "STANDARD", "start_line": 12, "end_line": 109, "tags": { "UX_STATE": "Idle -> Showing dashboard grid with actions.", "UX_FEEDBACK": "Toast -> Error messages on fetch failure.", "UX_RECOVERY": "Environment Selection -> Switch environment to retry loading." }, "relations": [], "children": [ { "name": "fetchEnvironments", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 52, "tags": { "PURPOSE": "Fetches the list of available environments.", "PRE": "None.", "POST": "environments array is populated, selectedEnvId is set to first env if available." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 } ], "score": 0.8 } }, { "name": "fetchDashboards", "type": "Function", "tier": "STANDARD", "start_line": 54, "end_line": 72, "tags": { "PURPOSE": "Fetches dashboards for a specific environment.", "PRE": "envId is a valid environment ID.", "POST": "dashboards array is populated with metadata for the selected environment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "AdminRolesPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 234, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, role-management, rbac", "PURPOSE": "UI for managing system roles and their permissions.", "LAYER": "Domain", "RELATION": "DEPENDS_ON -> frontend.src.components.auth.ProtectedRoute", "INVARIANT": "Only accessible by users with Admin role." }, "relations": [], "children": [ { "name": "loadData", "type": "Function", "tier": "STANDARD", "start_line": 35, "end_line": 57, "tags": { "PURPOSE": "Fetches roles and available permissions.", "PRE": "Component mounted.", "POST": "roles and permissions arrays populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "openCreateModal", "type": "Function", "tier": "STANDARD", "start_line": 59, "end_line": 72, "tags": { "PURPOSE": "Initializes state for creating a new role.", "PRE": "None.", "POST": "showModal is true, roleForm is reset." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "openEditModal", "type": "Function", "tier": "STANDARD", "start_line": 74, "end_line": 91, "tags": { "PURPOSE": "Initializes state for editing an existing role.", "PRE": "role object is provided.", "POST": "showModal is true, roleForm is populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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 } ], "score": 0.8 } }, { "name": "handleSaveRole", "type": "Function", "tier": "STANDARD", "start_line": 93, "end_line": 115, "tags": { "PURPOSE": "Submits role data (create or update).", "PRE": "roleForm contains valid data.", "POST": "Role is saved, modal closed, data reloaded." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleDeleteRole", "type": "Function", "tier": "STANDARD", "start_line": 117, "end_line": 136, "tags": { "PURPOSE": "Deletes a role after confirmation.", "PRE": "role object is provided.", "POST": "Role is deleted if confirmed, data reloaded." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 16 }, { "store": "t", "type": "READS_FROM", "line": 124 }, { "store": "t", "type": "WRITES_TO", "line": 145 }, { "store": "t", "type": "READS_FROM", "line": 150 }, { "store": "t", "type": "READS_FROM", "line": 155 }, { "store": "t", "type": "WRITES_TO", "line": 163 }, { "store": "t", "type": "WRITES_TO", "line": 164 }, { "store": "t", "type": "WRITES_TO", "line": 165 }, { "store": "t", "type": "WRITES_TO", "line": 166 }, { "store": "t", "type": "WRITES_TO", "line": 184 }, { "store": "t", "type": "WRITES_TO", "line": 185 }, { "store": "t", "type": "READS_FROM", "line": 198 }, { "store": "t", "type": "READS_FROM", "line": 198 }, { "store": "t", "type": "WRITES_TO", "line": 202 }, { "store": "t", "type": "WRITES_TO", "line": 206 }, { "store": "t", "type": "WRITES_TO", "line": 210 }, { "store": "t", "type": "WRITES_TO", "line": 219 }, { "store": "t", "type": "WRITES_TO", "line": 222 }, { "store": "t", "type": "WRITES_TO", "line": 223 } ] }, { "name": "AdminUsersPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 282, "tags": { "SEMANTICS": "admin, user-management, rbac", "PURPOSE": "UI for managing system users and their roles.", "LAYER": "Feature", "RELATION": "DEPENDS_ON -> frontend.src.components.auth.ProtectedRoute", "INVARIANT": "Only accessible by users with \"admin:users\" permission." }, "relations": [], "children": [ { "name": "loadData", "type": "Function", "tier": "STANDARD", "start_line": 37, "end_line": 59, "tags": { "PURPOSE": "Fetches users and roles from the backend.", "PRE": "Component mounted.", "POST": "users and roles arrays populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "openCreateModal", "type": "Function", "tier": "STANDARD", "start_line": 61, "end_line": 72, "tags": { "PURPOSE": "Prepares the form for creating a new user.", "POST": "showModal is true, isEditing is false, userForm is reset." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 } ], "score": 0.5333333333333333 } }, { "name": "openEditModal", "type": "Function", "tier": "STANDARD", "start_line": 74, "end_line": 93, "tags": { "PURPOSE": "Prepares the form for editing an existing user.", "PRE": "user object must be valid.", "POST": "showModal is true, isEditing is true, userForm populated with user data.", "PARAM": "{Object} user - The user object to edit." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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 } ], "score": 0.8 } }, { "name": "handleSaveUser", "type": "Function", "tier": "STANDARD", "start_line": 95, "end_line": 122, "tags": { "PURPOSE": "Submits user data to the backend (create or update).", "PRE": "userForm must be valid.", "POST": "User created or updated, modal closed, data reloaded.", "RELATION": "CALLS -> adminService.updateUser" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleDeleteUser", "type": "Function", "tier": "STANDARD", "start_line": 124, "end_line": 150, "tags": { "PURPOSE": "Deletes a user after confirmation.", "PRE": "user object must be valid.", "POST": "User deleted if confirmed, data reloaded.", "RELATION": "CALLS -> adminService.deleteUser", "PARAM": "{Object} user - The user to delete." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 15 }, { "store": "t", "type": "READS_FROM", "line": 135 }, { "store": "t", "type": "WRITES_TO", "line": 159 }, { "store": "t", "type": "READS_FROM", "line": 164 }, { "store": "t", "type": "WRITES_TO", "line": 170 }, { "store": "t", "type": "WRITES_TO", "line": 174 }, { "store": "t", "type": "WRITES_TO", "line": 182 }, { "store": "t", "type": "WRITES_TO", "line": 183 }, { "store": "t", "type": "WRITES_TO", "line": 184 }, { "store": "t", "type": "WRITES_TO", "line": 185 }, { "store": "t", "type": "WRITES_TO", "line": 186 }, { "store": "t", "type": "WRITES_TO", "line": 187 }, { "store": "t", "type": "READS_FROM", "line": 211 }, { "store": "t", "type": "READS_FROM", "line": 211 }, { "store": "t", "type": "WRITES_TO", "line": 216 }, { "store": "t", "type": "WRITES_TO", "line": 222 }, { "store": "t", "type": "WRITES_TO", "line": 222 }, { "store": "t", "type": "READS_FROM", "line": 236 }, { "store": "t", "type": "READS_FROM", "line": 236 }, { "store": "t", "type": "WRITES_TO", "line": 240 }, { "store": "t", "type": "WRITES_TO", "line": 244 }, { "store": "t", "type": "WRITES_TO", "line": 248 }, { "store": "t", "type": "WRITES_TO", "line": 251 }, { "store": "t", "type": "WRITES_TO", "line": 257 }, { "store": "t", "type": "WRITES_TO", "line": 261 }, { "store": "t", "type": "WRITES_TO", "line": 267 }, { "store": "t", "type": "WRITES_TO", "line": 270 }, { "store": "t", "type": "WRITES_TO", "line": 271 } ] }, { "name": "AdminSettingsPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 350, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, adfs, mappings, configuration, logging", "PURPOSE": "UI for configuring Active Directory Group to local Role mappings for ADFS SSO and logging settings.", "LAYER": "Feature", "RELATION": "DEPENDS_ON -> frontend.src.components.auth.ProtectedRoute", "INVARIANT": "Only accessible by users with \"admin:settings\" permission." }, "relations": [], "children": [ { "name": "loadData", "type": "Function", "tier": "STANDARD", "start_line": 45, "end_line": 76, "tags": { "PURPOSE": "Fetches AD mappings and roles from the backend to populate the UI.", "PRE": "Component is mounted and user has active session.", "POST": "mappings and roles variables are updated with backend data.", "RETURNS": "{Promise}", "RELATION": "CALLS -> adminService.getADGroupMappings" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleCreateMapping", "type": "Function", "tier": "STANDARD", "start_line": 78, "end_line": 108, "tags": { "PURPOSE": "Submits a new AD Group to Role mapping to the backend.", "PRE": "'newMapping' object contains valid 'ad_group' and 'role_id'.", "POST": "A new mapping is created in the database and the table is refreshed.", "RETURNS": "{Promise}", "RELATION": "CALLS -> adminService.createADGroupMapping" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "loadLoggingConfig", "type": "Function", "tier": "STANDARD", "start_line": 110, "end_line": 135, "tags": { "PURPOSE": "Fetches current logging configuration from the backend.", "PRE": "Component is mounted and user has active session.", "POST": "loggingConfig variable is updated with backend data.", "RETURNS": "{Promise}", "RELATION": "CALLS -> adminService.getLoggingConfig" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "saveLoggingConfig", "type": "Function", "tier": "STANDARD", "start_line": 137, "end_line": 162, "tags": { "PURPOSE": "Saves logging configuration to the backend.", "PRE": "loggingConfig contains valid values.", "POST": "Configuration is saved and feedback is shown.", "RETURNS": "{Promise}", "RELATION": "CALLS -> adminService.updateLoggingConfig" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 16 }, { "store": "t", "type": "WRITES_TO", "line": 174 }, { "store": "t", "type": "READS_FROM", "line": 179 }, { "store": "t", "type": "WRITES_TO", "line": 185 }, { "store": "t", "type": "WRITES_TO", "line": 189 }, { "store": "t", "type": "WRITES_TO", "line": 197 }, { "store": "t", "type": "WRITES_TO", "line": 198 }, { "store": "t", "type": "READS_FROM", "line": 219 }, { "store": "t", "type": "WRITES_TO", "line": 300 }, { "store": "t", "type": "WRITES_TO", "line": 303 }, { "store": "t", "type": "WRITES_TO", "line": 311 }, { "store": "t", "type": "WRITES_TO", "line": 314 }, { "store": "t", "type": "WRITES_TO", "line": 320 }, { "store": "t", "type": "READS_FROM", "line": 332 }, { "store": "t", "type": "READS_FROM", "line": 338 } ] }, { "name": "LLMSettingsPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 49, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, llm, settings, provider, configuration", "PURPOSE": "Admin settings page for LLM provider configuration.", "LAYER": "UI", "RELATION": "CALLS -> frontend/src/components/llm/ProviderConfig.svelte" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "+page", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 49, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/admin/settings/llm/+page.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "fetchProviders", "type": "Function", "tier": "TRIVIAL", "start_line": 18, "end_line": 18, "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": "MigrationDashboard", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 388, "tags": { "SEMANTICS": "migration, dashboard, environment, selection, database-replacement", "PURPOSE": "Main dashboard for configuring and starting migrations.", "LAYER": "Page", "RELATION": "USES -> EnvSelector", "INVARIANT": "Migration cannot start without source and target environments." }, "relations": [], "children": [ { "name": "fetchEnvironments", "type": "Function", "tier": "STANDARD", "start_line": 54, "end_line": 69, "tags": { "PURPOSE": "Fetches the list of environments from the API.", "PRE": "None.", "POST": "environments state is updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 } ], "score": 0.8 } }, { "name": "fetchDashboards", "type": "Function", "tier": "STANDARD", "start_line": 71, "end_line": 87, "tags": { "PURPOSE": "Fetches dashboards for the selected source environment.", "PRE": "envId is a valid environment ID.", "PARAM": "envId The environment ID.", "POST": "dashboards state is updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 } ], "score": 0.8 } }, { "name": "fetchDatabases", "type": "Function", "tier": "STANDARD", "start_line": 94, "end_line": 123, "tags": { "PURPOSE": "Fetches databases from both environments and gets suggestions.", "PRE": "sourceEnvId and targetEnvId must be set.", "POST": "sourceDatabases, targetDatabases, mappings, and suggestions are updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 94 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 94 } ], "score": 0.8 } }, { "name": "handleMappingUpdate", "type": "Function", "tier": "STANDARD", "start_line": 125, "end_line": 153, "tags": { "PURPOSE": "Saves a mapping to the backend.", "PRE": "event.detail contains sourceUuid and targetUuid.", "POST": "Mapping is saved and local mappings list is updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 125 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 125 } ], "score": 0.8 } }, { "name": "handleViewLogs", "type": "Function", "tier": "STANDARD", "start_line": 155, "end_line": 165, "tags": { "PURPOSE": "Opens the log viewer for a specific task.", "PRE": "event.detail contains task object.", "POST": "logViewer state updated and showLogViewer set to true." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 155 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 155 } ], "score": 0.8 } }, { "name": "handlePasswordPrompt", "type": "Function", "tier": "STANDARD", "start_line": 167, "end_line": 189, "tags": { "PURPOSE": "Reactive logic to show password prompt when a task is awaiting input.", "PRE": "selectedTask status is AWAITING_INPUT.", "POST": "showPasswordPrompt set to true with request data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 167 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 167 } ], "score": 0.8 } }, { "name": "handleResumeMigration", "type": "Function", "tier": "STANDARD", "start_line": 191, "end_line": 209, "tags": { "PURPOSE": "Resumes a migration task with provided passwords.", "PRE": "event.detail contains passwords.", "POST": "resumeTask is called and showPasswordPrompt is hidden on success." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 191 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 191 } ], "score": 0.8 } }, { "name": "startMigration", "type": "Function", "tier": "STANDARD", "start_line": 211, "end_line": 266, "tags": { "PURPOSE": "Starts the migration process.", "PRE": "sourceEnvId and targetEnvId must be set and different.", "POST": "Migration task is started and selectedTask is updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 211 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 211 } ], "score": 0.8 } }, { "name": "DashboardSelectionSection", "type": "Component", "tier": "STANDARD", "start_line": 306, "end_line": 320, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 }, { "message": "Missing Mandatory Tag: @LAYER (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 }, { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 }, { "message": "Missing Mandatory Tag: @LAYER (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 }, { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 306 } ], "score": 0.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 25 }, { "store": "lib", "type": "READS_FROM", "line": 26 }, { "store": "selectedTask", "type": "READS_FROM", "line": 176 }, { "store": "selectedTask", "type": "READS_FROM", "line": 176 }, { "store": "selectedTask", "type": "READS_FROM", "line": 176 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 177 }, { "store": "selectedTask", "type": "READS_FROM", "line": 183 }, { "store": "selectedTask", "type": "READS_FROM", "line": 183 }, { "store": "selectedTask", "type": "READS_FROM", "line": 196 }, { "store": "selectedTask", "type": "READS_FROM", "line": 200 }, { "store": "t", "type": "WRITES_TO", "line": 271 }, { "store": "selectedTask", "type": "READS_FROM", "line": 275 }, { "store": "t", "type": "READS_FROM", "line": 280 } ] }, { "name": "MappingManagement", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 177, "tags": { "SEMANTICS": "mapping, management, database, fuzzy-matching", "PURPOSE": "Page for managing database mappings between environments.", "LAYER": "Page", "RELATION": "USES -> MappingTable", "INVARIANT": "Mappings are saved to the backend for persistence." }, "relations": [], "children": [ { "name": "fetchEnvironments", "type": "Function", "tier": "STANDARD", "start_line": 36, "end_line": 49, "tags": { "PURPOSE": "Fetches the list of environments.", "PRE": "None.", "POST": "environments array is populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 36 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 36 } ], "score": 0.8 } }, { "name": "fetchDatabases", "type": "Function", "tier": "STANDARD", "start_line": 53, "end_line": 83, "tags": { "PURPOSE": "Fetches databases from both environments and gets suggestions.", "PRE": "sourceEnvId and targetEnvId must be set.", "POST": "sourceDatabases, targetDatabases, mappings, and suggestions are updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 53 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 53 } ], "score": 0.8 } }, { "name": "handleUpdate", "type": "Function", "tier": "STANDARD", "start_line": 85, "end_line": 114, "tags": { "PURPOSE": "Saves a mapping to the backend.", "PRE": "event.detail contains sourceUuid and targetUuid.", "POST": "Mapping is saved and local mappings list is updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 85 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 85 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 18 }, { "store": "lib", "type": "READS_FROM", "line": 19 } ] }, { "name": "StoragePage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 222, "tags": { "TIER": "STANDARD", "SEMANTICS": "storage, files, management", "PURPOSE": "Main page for file storage management.", "LAYER": "UI", "RELATION": "CONTAINS -> FileUpload", "INVARIANT": "Always displays tabs for Backups and Repositories." }, "relations": [], "children": [ { "name": "loadFiles", "type": "Function", "tier": "STANDARD", "start_line": 25, "end_line": 64, "tags": { "PURPOSE": "Fetches the list of files from the server.", "PRE": "The activeTab is set to a valid category.", "POST": "Updates the `files` array with the latest data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 } ], "score": 0.8 } }, { "name": "handleDelete", "type": "Function", "tier": "STANDARD", "start_line": 66, "end_line": 88, "tags": { "PURPOSE": "Handles the file deletion process.", "PRE": "The event contains valid category and path.", "POST": "File is deleted and file list is refreshed.", "PARAM": "{CustomEvent} event - The delete event containing category and path." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 } ], "score": 0.8 } }, { "name": "handleNavigate", "type": "Function", "tier": "STANDARD", "start_line": 90, "end_line": 102, "tags": { "PURPOSE": "Updates the current path and reloads files when navigating into a directory.", "PRE": "The event contains a valid path string.", "POST": "currentPath is updated and files are reloaded.", "PARAM": "{CustomEvent} event - The navigation event containing the new path." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 90 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 90 } ], "score": 0.8 } }, { "name": "navigateUp", "type": "Function", "tier": "STANDARD", "start_line": 104, "end_line": 117, "tags": { "PURPOSE": "Navigates one level up in the directory structure.", "PRE": "currentPath is set and deeper than activeTab root.", "POST": "currentPath is moved up one directory level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 104 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 104 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "app", "type": "READS_FROM", "line": 17 }, { "store": "t", "type": "READS_FROM", "line": 59 }, { "store": "t", "type": "READS_FROM", "line": 76 }, { "store": "t", "type": "READS_FROM", "line": 81 }, { "store": "t", "type": "READS_FROM", "line": 85 }, { "store": "page", "type": "WRITES_TO", "line": 120 }, { "store": "t", "type": "WRITES_TO", "line": 144 }, { "store": "t", "type": "WRITES_TO", "line": 147 }, { "store": "t", "type": "READS_FROM", "line": 167 }, { "store": "t", "type": "READS_FROM", "line": 167 }, { "store": "t", "type": "READS_FROM", "line": 181 }, { "store": "t", "type": "READS_FROM", "line": 187 } ] }, { "name": "MapperPage", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 26, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "mapper, page, tool", "PURPOSE": "Page for the dataset column mapper tool.", "LAYER": "UI" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 11 } ] }, { "name": "DebugPage", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 26, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "debug, page, tool", "PURPOSE": "Page for system diagnostics and debugging.", "LAYER": "UI" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 11 } ] }, { "name": "SettingsPage", "type": "Page", "tier": "CRITICAL", "start_line": 1, "end_line": 717, "tags": { "TIER": "CRITICAL", "PURPOSE": "Consolidated Settings Page - All settings in one place with tabbed navigation", "LAYER": "UI", "RELATION": "BINDS_TO -> sidebarStore", "INVARIANT": "Always shows tabbed interface with all settings categories", "UX_STATE": "Error -> Shows error banner with retry button", "UX_FEEDBACK": "Toast notifications on save success/failure", "UX_RECOVERY": "Refresh button reloads settings data" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "+page", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 717, "tags": { "PURPOSE": "Auto-generated module for frontend/src/routes/settings/+page.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "loadSettings", "type": "Function", "tier": "TRIVIAL", "start_line": 51, "end_line": 51, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleTabChange", "type": "Function", "tier": "TRIVIAL", "start_line": 66, "end_line": 66, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getTabClass", "type": "Function", "tier": "TRIVIAL", "start_line": 71, "end_line": 71, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSave", "type": "Function", "tier": "TRIVIAL", "start_line": 78, "end_line": 78, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleTestEnv", "type": "Function", "tier": "TRIVIAL", "start_line": 93, "end_line": 93, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "editEnv", "type": "Function", "tier": "TRIVIAL", "start_line": 112, "end_line": 112, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "resetEnvForm", "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": "handleAddOrUpdateEnv", "type": "Function", "tier": "TRIVIAL", "start_line": 139, "end_line": 139, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleDeleteEnv", "type": "Function", "tier": "TRIVIAL", "start_line": 172, "end_line": 172, "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": "load", "type": "Function", "tier": "STANDARD", "start_line": 3, "end_line": 34, "tags": { "PURPOSE": "Loads application settings and environment list.", "PRE": "API must be reachable.", "POST": "Returns settings object or default values on error.", "TYPE": "{import('./$types').PageLoad} */" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 3 } ], "score": 0.9 } }, { "name": "ConnectionsSettingsPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 40, "tags": { "SEMANTICS": "settings, connections, page", "PURPOSE": "Page for managing database connection configurations.", "LAYER": "UI" }, "relations": [], "children": [ { "name": "handleSuccess", "type": "Function", "tier": "STANDARD", "start_line": 13, "end_line": 23, "tags": { "PURPOSE": "Refreshes the connection list after a successful creation.", "PRE": "listComponent must be bound.", "POST": "Triggers the fetchConnections method on the list component." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "GitSettingsPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 179, "tags": { "SEMANTICS": "git, settings, configuration, integration", "PURPOSE": "Manage Git server configurations for dashboard versioning.", "LAYER": "Page", "RELATION": "USES -> Button, Input, Card, PageHeader, Select", "INVARIANT": "All configurations must be validated via connection test." }, "relations": [], "children": [ { "name": "loadConfigs", "type": "Function", "tier": "STANDARD", "start_line": 33, "end_line": 46, "tags": { "PURPOSE": "Fetches existing git configurations.", "PRE": "Component is mounted.", "POST": "configs state is populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 33 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 33 } ], "score": 0.8 } }, { "name": "handleTest", "type": "Function", "tier": "STANDARD", "start_line": 50, "end_line": 71, "tags": { "PURPOSE": "Tests connection to a git server with current form data.", "PRE": "newConfig contains valid provider, url, and pat.", "POST": "testing state is managed; toast shown with result." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 50 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 50 } ], "score": 0.8 } }, { "name": "handleSave", "type": "Function", "tier": "STANDARD", "start_line": 73, "end_line": 89, "tags": { "PURPOSE": "Saves a new git configuration.", "PRE": "newConfig is valid and tested.", "POST": "New config is saved to DB and added to configs list." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 73 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 73 } ], "score": 0.8 } }, { "name": "handleDelete", "type": "Function", "tier": "STANDARD", "start_line": 91, "end_line": 108, "tags": { "PURPOSE": "Deletes a git configuration by ID.", "PARAM": "{string} id - Configuration ID.", "PRE": "id is valid; user confirmed deletion.", "POST": "Configuration is removed from DB and local state." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 17 }, { "store": "lib", "type": "READS_FROM", "line": 18 } ] }, { "name": "GitDashboardPage", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 93, "tags": { "PURPOSE": "Dashboard management page for Git integration.", "LAYER": "Page", "SEMANTICS": "git, dashboard, management, ui" }, "relations": [], "children": [ { "name": "fetchEnvironments", "type": "Function", "tier": "STANDARD", "start_line": 22, "end_line": 38, "tags": { "PURPOSE": "Fetches the list of deployment environments from the API.", "PRE": "Component is mounted.", "POST": "`environments` array is populated with data from /api/environments." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 } ], "score": 0.8 } }, { "name": "fetchDashboards", "type": "Function", "tier": "STANDARD", "start_line": 40, "end_line": 56, "tags": { "PURPOSE": "Fetches dashboards for a specific environment.", "PRE": "`envId` is a valid environment ID.", "POST": "`dashboards` array is updated with results from the environment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "lib", "type": "READS_FROM", "line": 13 }, { "store": "lib", "type": "READS_FROM", "line": 14 } ] }, { "name": "Dashboard", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 64, "tags": { "SEMANTICS": "dashboard, plugins, tools, list", "PURPOSE": "Displays the list of available plugins and allows selecting one.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> frontend/src/lib/stores.js", "PROPS": "None", "EVENTS": "None" }, "relations": [], "children": [ { "name": "onMount", "type": "Function", "tier": "STANDARD", "start_line": 17, "end_line": 27, "tags": { "PURPOSE": "Fetch plugins when the component mounts.", "PRE": "Component is mounting.", "POST": "plugins store is populated with available tools." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "selectPlugin", "type": "Function", "tier": "STANDARD", "start_line": 29, "end_line": 40, "tags": { "PURPOSE": "Selects a plugin to display its form.", "PRE": "plugin object is provided.", "POST": "selectedPlugin store is updated.", "PARAM": "{Object} plugin - The plugin object to select." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "plugins", "type": "READS_FROM", "line": 47 } ] }, { "name": "Settings", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 340, "tags": { "SEMANTICS": "settings, ui, configuration", "PURPOSE": "The main settings page for the application, allowing management of environments and global settings.", "LAYER": "UI", "RELATION": "USES -> stores.js", "PROPS": "None", "EVENTS": "None", "INVARIANT": "Settings changes must be saved to the backend." }, "relations": [], "children": [ { "name": "loadSettings", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 66, "tags": { "PURPOSE": "Loads settings from the backend.", "PRE": "Component mounted or refresh requested.", "POST": "settings object is populated with backend data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "handleSaveGlobal", "type": "Function", "tier": "STANDARD", "start_line": 68, "end_line": 85, "tags": { "PURPOSE": "Saves global settings to the backend.", "PRE": "settings.settings contains valid configuration.", "POST": "Backend global settings are updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 68 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 68 } ], "score": 0.8 } }, { "name": "handleAddOrUpdateEnv", "type": "Function", "tier": "STANDARD", "start_line": 87, "end_line": 111, "tags": { "PURPOSE": "Adds or updates an environment.", "PRE": "newEnv contains valid environment details.", "POST": "Environment list is updated on backend and reloaded locally." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 } ], "score": 0.8 } }, { "name": "handleDeleteEnv", "type": "Function", "tier": "STANDARD", "start_line": 113, "end_line": 134, "tags": { "PURPOSE": "Deletes an environment.", "PRE": "id of environment to delete is provided.", "POST": "Environment is removed from backend and list is reloaded.", "PARAM": "{string} id - The ID of the environment to delete." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 113 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 113 } ], "score": 0.8 } }, { "name": "handleTestEnv", "type": "Function", "tier": "STANDARD", "start_line": 136, "end_line": 159, "tags": { "PURPOSE": "Tests the connection to an environment.", "PRE": "Environment ID is valid.", "POST": "Connection test result is displayed via toast.", "PARAM": "{string} id - The ID of the environment to test." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 136 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 136 } ], "score": 0.8 } }, { "name": "editEnv", "type": "Function", "tier": "STANDARD", "start_line": 161, "end_line": 172, "tags": { "PURPOSE": "Sets the form to edit an existing environment.", "PRE": "env object is provided.", "POST": "newEnv is populated with env data and editingEnvId is set.", "PARAM": "{Object} env - The environment object to edit." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 161 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 161 } ], "score": 0.8 } }, { "name": "resetEnvForm", "type": "Function", "tier": "STANDARD", "start_line": 174, "end_line": 195, "tags": { "PURPOSE": "Resets the environment form.", "PRE": "None.", "POST": "newEnv is reset to initial state and editingEnvId is cleared." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 174 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 174 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "getConnections", "type": "Function", "tier": "STANDARD", "start_line": 9, "end_line": 21, "tags": { "PURPOSE": "Fetch a list of saved connections.", "PRE": "None.", "POST": "Returns a promise resolving to an array of connections.", "RETURNS": "{Promise} List of connections." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 9 } ], "score": 0.9 } }, { "name": "createConnection", "type": "Function", "tier": "STANDARD", "start_line": 23, "end_line": 36, "tags": { "PURPOSE": "Create a new connection configuration.", "PRE": "connectionData must be a valid object.", "POST": "Returns a promise resolving to the created connection.", "PARAM": "{Object} connectionData - The connection data.", "RETURNS": "{Promise} The created connection instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 23 } ], "score": 0.9 } }, { "name": "deleteConnection", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 50, "tags": { "PURPOSE": "Delete a connection configuration.", "PRE": "connectionId must be a valid string.", "POST": "Returns a promise that resolves when deletion is complete.", "PARAM": "{string} connectionId - The ID of the connection to delete." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 38 } ], "score": 0.9 } }, { "name": "GitServiceClient", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 259, "tags": { "TIER": "STANDARD", "SEMANTICS": "git, service, api, client", "PURPOSE": "API client for Git operations, managing the communication between frontend and backend.", "LAYER": "Service", "RELATION": "DEPENDS_ON -> specs/011-git-integration-dashboard/contracts/api.md" }, "relations": [], "children": [ { "name": "gitService", "type": "Action", "tier": "STANDARD", "start_line": 14, "end_line": 257, "tags": { "PURPOSE": "Retrieves the diff for specific files or the whole repository.", "PRE": "dashboardId must be a valid integer.", "POST": "Returns the Git diff string.", "RETURNS": "{Promise} The diff content.", "PARAM": "{boolean} staged - Whether to show staged changes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "runTask", "type": "Function", "tier": "STANDARD", "start_line": 9, "end_line": 23, "tags": { "PURPOSE": "Start a new task for a given plugin.", "PRE": "pluginId and params must be provided.", "POST": "Returns a promise resolving to the task instance.", "PARAM": "{Object} params - Parameters for the plugin.", "RETURNS": "{Promise} The created task instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 9 } ], "score": 0.9 } }, { "name": "getTaskStatus", "type": "Function", "tier": "STANDARD", "start_line": 25, "end_line": 38, "tags": { "PURPOSE": "Fetch details for a specific task (to poll status or get result).", "PRE": "taskId must be provided.", "POST": "Returns a promise resolving to task details.", "PARAM": "{string} taskId - The ID of the task.", "RETURNS": "{Promise} Task details." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 } ], "score": 0.9 } }, { "name": "adminService", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 294, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, users, roles, ad-mappings, api", "PURPOSE": "Service for Admin-related API calls (User and Role management).", "LAYER": "Service", "INVARIANT": "All requests must include valid Admin JWT token (handled by api client)." }, "relations": [ { "type": "DEPENDS_ON", "target": "frontend.src.lib.api" } ], "children": [ { "name": "getUsers", "type": "Function", "tier": "STANDARD", "start_line": 15, "end_line": 34, "tags": { "PURPOSE": "Fetches all registered users from the backend.", "PRE": "User must be authenticated with Admin privileges.", "POST": "Returns an array of user objects.", "RETURNS": "{Promise}", "RELATION": "CALLS -> backend.src.api.routes.admin.list_users" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "createUser", "type": "Function", "tier": "STANDARD", "start_line": 36, "end_line": 56, "tags": { "PURPOSE": "Creates a new local user.", "PRE": "User must be authenticated with Admin privileges.", "PARAM": "{Object} userData - User details (username, email, password, roles, is_active).", "POST": "New user record created in auth.db.", "RETURNS": "{Promise}", "RELATION": "CALLS -> backend.src.api.routes.admin.create_user" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getRoles", "type": "Function", "tier": "STANDARD", "start_line": 58, "end_line": 77, "tags": { "PURPOSE": "Fetches all available system roles.", "PRE": "User must be authenticated with Admin privileges.", "POST": "Returns an array of role objects.", "RETURNS": "{Promise}", "RELATION": "CALLS -> backend.src.api.routes.admin.list_roles" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getADGroupMappings", "type": "Function", "tier": "STANDARD", "start_line": 79, "end_line": 97, "tags": { "PURPOSE": "Fetches mappings between AD groups and local roles.", "PRE": "User must be authenticated with Admin privileges.", "POST": "Returns an array of AD group mapping objects.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "createADGroupMapping", "type": "Function", "tier": "STANDARD", "start_line": 99, "end_line": 118, "tags": { "PURPOSE": "Creates or updates an AD group to Role mapping.", "PRE": "User must be authenticated with Admin privileges.", "POST": "New or updated mapping created in auth.db.", "PARAM": "{Object} mappingData - Mapping details (ad_group, role_id).", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "updateUser", "type": "Function", "tier": "STANDARD", "start_line": 120, "end_line": 140, "tags": { "PURPOSE": "Updates an existing user.", "PRE": "User must be authenticated with Admin privileges.", "POST": "User record updated in auth.db.", "PARAM": "{Object} userData - Updated user data.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "deleteUser", "type": "Function", "tier": "STANDARD", "start_line": 142, "end_line": 160, "tags": { "PURPOSE": "Deletes a user.", "PRE": "User must be authenticated with Admin privileges.", "POST": "User record removed from auth.db.", "PARAM": "{string} userId - Target user ID.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "createRole", "type": "Function", "tier": "STANDARD", "start_line": 162, "end_line": 181, "tags": { "PURPOSE": "Creates a new role.", "PRE": "User must be authenticated with Admin privileges.", "POST": "New role created in auth.db.", "PARAM": "{Object} roleData - Role details (name, description, permissions).", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "updateRole", "type": "Function", "tier": "STANDARD", "start_line": 183, "end_line": 201, "tags": { "PURPOSE": "Updates an existing role.", "PARAM": "{Object} roleData - Updated role data.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 183 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 183 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 183 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 183 } ], "score": 0.4666666666666666 } }, { "name": "deleteRole", "type": "Function", "tier": "STANDARD", "start_line": 203, "end_line": 219, "tags": { "PURPOSE": "Deletes a role.", "PARAM": "{string} roleId - Target role ID.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 203 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 203 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 203 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 203 } ], "score": 0.4666666666666666 } }, { "name": "getPermissions", "type": "Function", "tier": "STANDARD", "start_line": 221, "end_line": 237, "tags": { "PURPOSE": "Fetches all available permissions.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 221 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 221 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 221 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 221 } ], "score": 0.4666666666666666 } }, { "name": "getLoggingConfig", "type": "Function", "tier": "STANDARD", "start_line": 239, "end_line": 256, "tags": { "PURPOSE": "Fetches current logging configuration.", "RETURNS": "{Promise} - Logging config with level, task_log_level, enable_belief_state.", "RELATION": "CALLS -> backend.src.api.routes.settings.get_logging_config" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 239 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 239 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 239 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 239 } ], "score": 0.4666666666666666 } }, { "name": "updateLoggingConfig", "type": "Function", "tier": "STANDARD", "start_line": 258, "end_line": 276, "tags": { "PURPOSE": "Updates logging configuration.", "PARAM": "{Object} configData - Logging config (level, task_log_level, enable_belief_state).", "RETURNS": "{Promise}", "RELATION": "CALLS -> backend.src.api.routes.settings.update_logging_config" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 258 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 258 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 258 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 258 } ], "score": 0.4666666666666666 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "getTasks", "type": "Function", "tier": "STANDARD", "start_line": 9, "end_line": 32, "tags": { "PURPOSE": "Fetch a list of tasks with pagination and optional status filter.", "PRE": "limit and offset are numbers.", "POST": "Returns a promise resolving to a list of tasks.", "PARAM": "{string|null} status - Filter by task status (optional).", "RETURNS": "{Promise} List of tasks." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 9 } ], "score": 0.9 } }, { "name": "getTask", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 47, "tags": { "PURPOSE": "Fetch details for a specific task.", "PRE": "taskId must be provided.", "POST": "Returns a promise resolving to task details.", "PARAM": "{string} taskId - The ID of the task.", "RETURNS": "{Promise} Task details." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 } ], "score": 0.9 } }, { "name": "getTaskLogs", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 69, "tags": { "PURPOSE": "Fetch logs for a specific task.", "PRE": "taskId must be provided.", "POST": "Returns a promise resolving to a list of log entries.", "PARAM": "{string} taskId - The ID of the task.", "RETURNS": "{Promise} List of log entries." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 49 } ], "score": 0.9 } }, { "name": "resumeTask", "type": "Function", "tier": "STANDARD", "start_line": 71, "end_line": 85, "tags": { "PURPOSE": "Resume a task that is awaiting input (e.g., passwords).", "PRE": "taskId and passwords must be provided.", "POST": "Returns a promise resolving to the updated task object.", "PARAM": "{Object} passwords - Map of database names to passwords.", "RETURNS": "{Promise} Updated task object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 } ], "score": 0.9 } }, { "name": "resolveTask", "type": "Function", "tier": "STANDARD", "start_line": 87, "end_line": 101, "tags": { "PURPOSE": "Resolve a task that is awaiting mapping.", "PRE": "taskId and resolutionParams must be provided.", "POST": "Returns a promise resolving to the updated task object.", "PARAM": "{Object} resolutionParams - Resolution parameters.", "RETURNS": "{Promise} Updated task object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 } ], "score": 0.9 } }, { "name": "clearTasks", "type": "Function", "tier": "STANDARD", "start_line": 103, "end_line": 120, "tags": { "PURPOSE": "Clear tasks based on status.", "PRE": "status is a string or null.", "POST": "Returns a promise that resolves when tasks are cleared.", "PARAM": "{string|null} status - Filter by task status (optional)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 103 } ], "score": 0.9 } }, { "name": "storageService", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 135, "tags": { "TIER": "STANDARD", "PURPOSE": "Frontend API client for file storage management.", "LAYER": "Service", "RELATION": "DEPENDS_ON -> backend.api.storage", "SEMANTICS": "storage, api, client" }, "relations": [], "children": [ { "name": "getStorageAuthHeaders", "type": "Function", "tier": "STANDARD", "start_line": 12, "end_line": 29, "tags": { "PURPOSE": "Returns headers with Authorization for storage API calls.", "RETURNS": "{Object} Headers object with Authorization if token exists.", "NOTE": "Unlike api.js getAuthHeaders, this doesn't set Content-Type" }, "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 Belief State Logging: Function should use console.log with [ID][STATE] (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 Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 12 } ], "score": 0.26666666666666655 } }, { "name": "listFiles", "type": "Function", "tier": "STANDARD", "start_line": 31, "end_line": 56, "tags": { "PURPOSE": "Fetches the list of files for a given category and subpath.", "PARAM": "{string} [path] - Optional subpath filter.", "RETURNS": "{Promise}", "PRE": "category and path should be valid strings if provided.", "POST": "Returns a promise resolving to an array of StoredFile objects." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "uploadFile", "type": "Function", "tier": "STANDARD", "start_line": 58, "end_line": 88, "tags": { "PURPOSE": "Uploads a file to the storage system.", "PARAM": "{string} [path] - Target subpath.", "RETURNS": "{Promise}", "PRE": "file must be a valid File object; category must be specified.", "POST": "Returns a promise resolving to the metadata of the uploaded file." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 58 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 58 } ], "score": 0.8 } }, { "name": "deleteFile", "type": "Function", "tier": "STANDARD", "start_line": 90, "end_line": 110, "tags": { "PURPOSE": "Deletes a file or directory from storage.", "PARAM": "{string} path - Relative path of the item.", "RETURNS": "{Promise}", "PRE": "category and path must identify an existing file or directory.", "POST": "The specified file or directory is removed from storage." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 90 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 90 } ], "score": 0.8 } }, { "name": "downloadFileUrl", "type": "Function", "tier": "STANDARD", "start_line": 112, "end_line": 126, "tags": { "PURPOSE": "Returns the URL for downloading a file.", "PARAM": "{string} path - Relative path of the file.", "RETURNS": "{string}", "PRE": "category and path must identify an existing file.", "POST": "Returns a valid API URL for file download.", "NOTE": "Downloads use browser navigation, so auth is handled via cookies" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 112 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 112 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "PasswordPrompt", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 179, "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" }, "relations": [], "children": [ { "name": "handleSubmit", "type": "Function", "tier": "STANDARD", "start_line": 19, "end_line": 37, "tags": { "PURPOSE": "Validates and dispatches the passwords to resume the task.", "PRE": "All database passwords must be entered.", "POST": "'resume' event is dispatched with passwords." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 } ], "score": 0.8 } }, { "name": "handleCancel", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 47, "tags": { "PURPOSE": "Cancels the password prompt.", "PRE": "Modal is open.", "POST": "'cancel' event is dispatched and show is set to false." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "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": "effect", "type": "READS_FROM", "line": 50 } ] }, { "name": "MappingTable", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 107, "tags": { "SEMANTICS": "mapping, table, database, editor", "PURPOSE": "Displays and allows editing of database mappings.", "LAYER": "Feature", "RELATION": "BINDS_TO -> mappings state", "INVARIANT": "Each source database can be mapped to one target database." }, "relations": [], "children": [ { "name": "updateMapping", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 46, "tags": { "PURPOSE": "Updates a mapping for a specific source database.", "PRE": "sourceUuid and targetUuid are provided.", "POST": "'update' event is dispatched." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 } ], "score": 0.8 } }, { "name": "getSuggestion", "type": "Function", "tier": "STANDARD", "start_line": 48, "end_line": 57, "tags": { "PURPOSE": "Finds a suggestion for a source database.", "PRE": "sourceUuid is provided.", "POST": "Returns matching suggestion object or undefined." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "update" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 22 } ] }, { "name": "TaskLogViewer", "type": "Component", "tier": "CRITICAL", "start_line": 1, "end_line": 203, "tags": { "TIER": "CRITICAL", "SEMANTICS": "task, log, viewer, inline, realtime", "PURPOSE": "Displays detailed logs for a specific task inline or in a modal using TaskLogPanel.", "LAYER": "UI", "RELATION": "USES -> frontend/src/components/tasks/TaskLogPanel.svelte", "INVARIANT": "Real-time logs are always appended without duplicates." }, "relations": [], "children": [ { "name": "handleRealTimeLogs", "type": "Action", "tier": "STANDARD", "start_line": 44, "end_line": 58, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "fetchLogs", "type": "Function", "tier": "STANDARD", "start_line": 60, "end_line": 71, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 60 }, { "message": "Missing Mandatory Tag: @PRE (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 Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 60 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 60 }, { "message": "Missing Mandatory Tag: @PRE (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 Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 60 } ], "score": 0.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "close" ], "data_flow": [ { "store": "bindable", "type": "WRITES_TO", "line": 27 }, { "store": "props", "type": "WRITES_TO", "line": 32 }, { "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": 40 }, { "store": "derived", "type": "WRITES_TO", "line": 42 }, { "store": "effect", "type": "READS_FROM", "line": 45 }, { "store": "effect", "type": "READS_FROM", "line": 81 }, { "store": "t", "type": "READS_FROM", "line": 116 }, { "store": "t", "type": "READS_FROM", "line": 169 }, { "store": "t", "type": "READS_FROM", "line": 183 } ] }, { "name": "TaskLogViewer", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 203, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/TaskLogViewer.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "handleFilterChange", "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 } }, { "name": "handleRefresh", "type": "Function", "tier": "TRIVIAL", "start_line": 77, "end_line": 77, "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": "Footer", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 11, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "footer, layout, copyright", "PURPOSE": "Displays the application footer with copyright information.", "LAYER": "UI" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "MissingMappingModal", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 118, "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", "INVARIANT": "Modal blocks migration progress until resolved or cancelled." }, "relations": [], "children": [ { "name": "resolve", "type": "Function", "tier": "STANDARD", "start_line": 29, "end_line": 42, "tags": { "PURPOSE": "Dispatches the resolution event with the selected mapping.", "PRE": "selectedTargetUuid must be set.", "POST": "'resolve' event is dispatched and modal is hidden." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 } ], "score": 0.8 } }, { "name": "cancel", "type": "Function", "tier": "STANDARD", "start_line": 44, "end_line": 52, "tags": { "PURPOSE": "Cancels the mapping resolution modal.", "PRE": "Modal is open.", "POST": "'cancel' event is dispatched and modal is hidden." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "cancel", "resolve" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 22 } ] }, { "name": "DashboardGrid", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 376, "tags": { "TIER": "STANDARD", "SEMANTICS": "dashboard, grid, selection, pagination", "PURPOSE": "Displays a grid of dashboards with selection and pagination.", "LAYER": "Component", "RELATION": "USED_BY -> frontend/src/routes/migration/+page.svelte", "INVARIANT": "Selected IDs must be a subset of available dashboards." }, "relations": [], "children": [ { "name": "handleValidate", "type": "Function", "tier": "STANDARD", "start_line": 43, "end_line": 89, "tags": { "PURPOSE": "Triggers dashboard validation task." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 } ], "score": 0.26666666666666655 } }, { "name": "handleSort", "type": "Function", "tier": "STANDARD", "start_line": 134, "end_line": 146, "tags": { "PURPOSE": "Toggles sort direction or changes sort column.", "PRE": "column name is provided.", "POST": "sortColumn and sortDirection state updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 134 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 134 } ], "score": 0.8 } }, { "name": "handleSelectionChange", "type": "Function", "tier": "STANDARD", "start_line": 148, "end_line": 162, "tags": { "PURPOSE": "Handles individual checkbox changes.", "PRE": "dashboard ID and checked status provided.", "POST": "selectedIds array updated and selectionChanged event dispatched." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 148 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 148 } ], "score": 0.8 } }, { "name": "handleSelectAll", "type": "Function", "tier": "STANDARD", "start_line": 164, "end_line": 182, "tags": { "PURPOSE": "Handles select all checkbox.", "PRE": "checked status provided.", "POST": "selectedIds array updated for all paginated items and event dispatched." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 164 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 164 } ], "score": 0.8 } }, { "name": "goToPage", "type": "Function", "tier": "STANDARD", "start_line": 184, "end_line": 193, "tags": { "PURPOSE": "Changes current page.", "PRE": "page index is provided.", "POST": "currentPage state updated if within valid range." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 184 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 184 } ], "score": 0.8 } }, { "name": "openGit", "type": "Function", "tier": "STANDARD", "start_line": 195, "end_line": 204, "tags": { "PURPOSE": "Opens the Git management modal for a dashboard." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 195 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 195 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 195 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 195 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 195 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 195 } ], "score": 0.26666666666666655 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "selectionChanged" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 24 }, { "store": "derived", "type": "WRITES_TO", "line": 92 }, { "store": "derived", "type": "WRITES_TO", "line": 98 }, { "store": "derived", "type": "WRITES_TO", "line": 112 }, { "store": "derived", "type": "WRITES_TO", "line": 119 }, { "store": "derived", "type": "WRITES_TO", "line": 121 }, { "store": "derived", "type": "WRITES_TO", "line": 125 }, { "store": "t", "type": "WRITES_TO", "line": 211 }, { "store": "t", "type": "READS_FROM", "line": 233 }, { "store": "t", "type": "READS_FROM", "line": 244 }, { "store": "t", "type": "READS_FROM", "line": 255 }, { "store": "t", "type": "READS_FROM", "line": 264 }, { "store": "t", "type": "READS_FROM", "line": 268 }, { "store": "t", "type": "READS_FROM", "line": 322 }, { "store": "t", "type": "READS_FROM", "line": 334 }, { "store": "t", "type": "READS_FROM", "line": 352 }, { "store": "t", "type": "READS_FROM", "line": 360 } ] }, { "name": "Navbar", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 81, "tags": { "TIER": "STANDARD", "SEMANTICS": "navbar, navigation, header, layout", "PURPOSE": "Main navigation bar for the application.", "LAYER": "UI", "RELATION": "USES -> $app/stores" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "app", "type": "READS_FROM", "line": 7 }, { "store": "app", "type": "READS_FROM", "line": 10 }, { "store": "lib", "type": "READS_FROM", "line": 11 }, { "store": "lib", "type": "READS_FROM", "line": 12 }, { "store": "lib", "type": "READS_FROM", "line": 13 }, { "store": "app", "type": "READS_FROM", "line": 14 }, { "store": "page", "type": "WRITES_TO", "line": 32 }, { "store": "t", "type": "READS_FROM", "line": 34 }, { "store": "page", "type": "WRITES_TO", "line": 38 }, { "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 }, { "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 }, { "store": "t", "type": "WRITES_TO", "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": "auth", "type": "WRITES_TO", "line": 70 } ] }, { "name": "Navbar", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 81, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/Navbar.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "handleLogout", "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 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskHistory", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 199, "tags": { "SEMANTICS": "task, history, list, status, monitoring", "PURPOSE": "Displays a list of recent tasks with their status and allows selecting them for viewing logs.", "LAYER": "UI", "RELATION": "USES -> frontend/src/lib/api.js (inferred)" }, "relations": [], "children": [ { "name": "fetchTasks", "type": "Function", "tier": "STANDARD", "start_line": 19, "end_line": 47, "tags": { "PURPOSE": "Fetches the list of recent tasks from the API.", "PRE": "None.", "POST": "tasks array is updated and selectedTask status synchronized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 } ], "score": 0.8 } }, { "name": "clearTasks", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 65, "tags": { "PURPOSE": "Clears tasks from the history, optionally filtered by status.", "PRE": "User confirms deletion via prompt.", "POST": "Tasks are deleted from backend and list is re-fetched." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "selectTask", "type": "Function", "tier": "STANDARD", "start_line": 67, "end_line": 81, "tags": { "PURPOSE": "Selects a task and fetches its full details.", "PRE": "task object is provided.", "POST": "selectedTask store is updated with full task details." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 67 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 67 } ], "score": 0.8 } }, { "name": "getStatusColor", "type": "Function", "tier": "STANDARD", "start_line": 83, "end_line": 97, "tags": { "PURPOSE": "Returns the CSS color class for a given task status.", "PRE": "status string is provided.", "POST": "Returns tailwind color class string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 } ], "score": 0.8 } }, { "name": "onMount", "type": "Function", "tier": "STANDARD", "start_line": 99, "end_line": 107, "tags": { "PURPOSE": "Initializes the component by fetching tasks and starting polling.", "PRE": "Component is mounting.", "POST": "Tasks are fetched and 5s polling interval is started." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 99 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 99 } ], "score": 0.8 } }, { "name": "onDestroy", "type": "Function", "tier": "STANDARD", "start_line": 109, "end_line": 116, "tags": { "PURPOSE": "Cleans up the polling interval when the component is destroyed.", "PRE": "Component is being destroyed.", "POST": "Polling interval is cleared." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 109 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 109 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "selectedTask", "type": "READS_FROM", "line": 35 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 36 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 37 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 161 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 161 } ] }, { "name": "Toast", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 32, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "toast, notification, feedback, ui", "PURPOSE": "Displays transient notifications (toasts) in the bottom-right corner.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> frontend/src/lib/toasts.js", "PROPS": "None", "EVENTS": "None" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "toasts", "type": "READS_FROM", "line": 20 } ] }, { "name": "TaskRunner", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 408, "tags": { "TIER": "STANDARD", "SEMANTICS": "task, runner, logs, websocket", "PURPOSE": "Connects to a WebSocket to display real-time logs for a running task with filtering support.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> frontend/src/lib/stores.js, frontend/src/components/tasks/TaskLogPanel.svelte" }, "relations": [], "children": [ { "name": "connect", "type": "Function", "tier": "STANDARD", "start_line": 40, "end_line": 142, "tags": { "PURPOSE": "Establishes WebSocket connection with exponential backoff and filter parameters.", "PRE": "selectedTask must be set in the store.", "POST": "WebSocket instance created and listeners attached." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 } ], "score": 0.8 } }, { "name": "handleFilterChange", "type": "Function", "tier": "STANDARD", "start_line": 144, "end_line": 168, "tags": { "PURPOSE": "Handles filter changes and reconnects WebSocket with new parameters.", "PRE": "event.detail contains source and level filter values.", "POST": "WebSocket reconnected with new filter parameters, logs cleared." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 144 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 144 } ], "score": 0.8 } }, { "name": "fetchTargetDatabases", "type": "Function", "tier": "STANDARD", "start_line": 170, "end_line": 191, "tags": { "PURPOSE": "Fetches available databases from target environment for mapping.", "PRE": "selectedTask must have to_env parameter set.", "POST": "targetDatabases array populated with available databases." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 170 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 170 } ], "score": 0.8 } }, { "name": "handleMappingResolve", "type": "Function", "tier": "STANDARD", "start_line": 193, "end_line": 227, "tags": { "PURPOSE": "Resolves missing database mapping and continues migration.", "PRE": "event.detail contains sourceDbUuid, targetDbUuid, targetDbName.", "POST": "Mapping created in backend, task resumed with resolution params." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 193 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 193 } ], "score": 0.8 } }, { "name": "handlePasswordResume", "type": "Function", "tier": "STANDARD", "start_line": 229, "end_line": 249, "tags": { "PURPOSE": "Submits passwords and resumes paused migration task.", "PRE": "event.detail contains passwords object.", "POST": "Task resumed with passwords, connection status restored to connected." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 } ], "score": 0.8 } }, { "name": "startDataTimeout", "type": "Function", "tier": "STANDARD", "start_line": 251, "end_line": 265, "tags": { "PURPOSE": "Starts timeout timer to detect idle connection.", "PRE": "connectionStatus is 'connected'.", "POST": "waitingForData set to true after 5 seconds if no data received." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 251 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 251 } ], "score": 0.8 } }, { "name": "resetDataTimeout", "type": "Function", "tier": "STANDARD", "start_line": 267, "end_line": 278, "tags": { "PURPOSE": "Resets data timeout timer when new data arrives.", "PRE": "dataTimeout must be set.", "POST": "waitingForData reset to false, new timeout started." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 267 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 267 } ], "score": 0.8 } }, { "name": "onMount", "type": "Function", "tier": "STANDARD", "start_line": 280, "end_line": 307, "tags": { "PURPOSE": "Initializes WebSocket connection when component mounts.", "PRE": "Component must be mounted in DOM.", "POST": "WebSocket connection established, subscription to selectedTask active." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 280 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 280 } ], "score": 0.8 } }, { "name": "onDestroy", "type": "Function", "tier": "STANDARD", "start_line": 309, "end_line": 318, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 309 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 309 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 309 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 309 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 309 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 309 } ], "score": 0.1999999999999999 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "selectedTask", "type": "READS_FROM", "line": 323 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 325 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 358 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 359 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 360 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 360 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 361 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 365 }, { "store": "selectedTask", "type": "WRITES_TO", "line": 373 }, { "store": "taskLogs", "type": "WRITES_TO", "line": 374 } ] }, { "name": "TaskList", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 114, "tags": { "SEMANTICS": "tasks, list, status, history", "PURPOSE": "Displays a list of tasks with their status and execution details.", "LAYER": "Component", "RELATION": "USES -> api.js" }, "relations": [], "children": [ { "name": "getStatusColor", "type": "Function", "tier": "STANDARD", "start_line": 23, "end_line": 38, "tags": { "PURPOSE": "Returns the CSS color class for a given task status.", "PRE": "status string is provided.", "POST": "Returns tailwind color class string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 23 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 23 } ], "score": 0.8 } }, { "name": "formatTime", "type": "Function", "tier": "STANDARD", "start_line": 40, "end_line": 52, "tags": { "PURPOSE": "Formats a date string using date-fns.", "PRE": "dateStr is a valid date string or null.", "POST": "Returns human-readable relative time string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 } ], "score": 0.8 } }, { "name": "handleTaskClick", "type": "Function", "tier": "STANDARD", "start_line": 54, "end_line": 61, "tags": { "PURPOSE": "Dispatches a select event when a task is clicked.", "PRE": "taskId is provided.", "POST": "'select' event is dispatched with task ID." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "select" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 18 }, { "store": "t", "type": "WRITES_TO", "line": 66 }, { "store": "t", "type": "WRITES_TO", "line": 68 }, { "store": "t", "type": "READS_FROM", "line": 102 } ] }, { "name": "DynamicForm", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 95, "tags": { "SEMANTICS": "form, schema, dynamic, json-schema", "PURPOSE": "Generates a form dynamically based on a JSON schema.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> svelte:createEventDispatcher", "PROPS": "", "EVENTS": "" }, "relations": [], "children": [ { "name": "handleSubmit", "type": "Function", "tier": "STANDARD", "start_line": 26, "end_line": 36, "tags": { "PURPOSE": "Dispatches the submit event with the form data.", "PRE": "formData contains user input.", "POST": "'submit' event is dispatched with formData." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "initializeForm", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 51, "tags": { "PURPOSE": "Initialize form data with default values from the schema.", "PRE": "schema is provided and contains properties.", "POST": "formData is initialized with default values or empty strings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "submit" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 20 } ] }, { "name": "EnvSelector", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 60, "tags": { "SEMANTICS": "environment, selector, dropdown, migration", "PURPOSE": "Provides a UI component for selecting source and target environments.", "LAYER": "Feature", "RELATION": "BINDS_TO -> environments store", "INVARIANT": "Source and target environments must be selectable from the list of configured environments." }, "relations": [], "children": [ { "name": "handleSelect", "type": "Function", "tier": "STANDARD", "start_line": 27, "end_line": 39, "tags": { "PURPOSE": "Dispatches the selection change event.", "PRE": "event.target must be an HTMLSelectElement.", "POST": "selectedId is updated and 'change' event is dispatched.", "PARAM": "{Event} event - The change event from the select element." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "change" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 21 } ] }, { "name": "ProtectedRoute", "type": "Component", "tier": "TRIVIAL", "start_line": 1, "end_line": 51, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "auth, guard, route, protection", "PURPOSE": "Wraps content to ensure only authenticated users can access it.", "LAYER": "Component", "RELATION": "CALLS -> goto", "INVARIANT": "Redirects to /login if user is not authenticated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "app", "type": "READS_FROM", "line": 17 }, { "store": "auth", "type": "READS_FROM", "line": 25 }, { "store": "auth", "type": "READS_FROM", "line": 25 }, { "store": "auth", "type": "READS_FROM", "line": 37 }, { "store": "auth", "type": "READS_FROM", "line": 43 }, { "store": "auth", "type": "READS_FROM", "line": 47 } ] }, { "name": "TaskLogPanel", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 149, "tags": { "TIER": "STANDARD", "SEMANTICS": "task, log, panel, filter, list", "PURPOSE": "Combines log filtering and display into a single cohesive dark-themed panel.", "LAYER": "UI", "RELATION": "USES -> frontend/src/components/tasks/LogEntryRow.svelte", "INVARIANT": "Must always display logs in chronological order and respect auto-scroll preference.", "UX_STATE": "AutoScroll -> Automatically scrolls to bottom on new logs" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "filterChange" ], "data_flow": [ { "store": "bindable", "type": "WRITES_TO", "line": 19 }, { "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", "type": "WRITES_TO", "line": 27 }, { "store": "derived", "type": "WRITES_TO", "line": 51 }, { "store": "effect", "type": "READS_FROM", "line": 75 } ] }, { "name": "TaskLogPanel", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 149, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/tasks/TaskLogPanel.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "filterLogs", "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": "handleFilterChange", "type": "Function", "tier": "TRIVIAL", "start_line": 55, "end_line": 55, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "scrollToBottom", "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": "toggleAutoScroll", "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 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LogFilterBar", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 143, "tags": { "TIER": "STANDARD", "SEMANTICS": "log, filter, ui", "PURPOSE": "Compact filter toolbar for logs \u2014 level, source, and text search in a single dense row.", "LAYER": "UI", "UX_STATE": "Active -> Filters applied, clear button visible" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "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 }, { "store": "derived", "type": "WRITES_TO", "line": 64 } ] }, { "name": "LogFilterBar", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 143, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/tasks/LogFilterBar.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "handleLevelChange", "type": "Function", "tier": "TRIVIAL", "start_line": 30, "end_line": 30, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSourceChange", "type": "Function", "tier": "TRIVIAL", "start_line": 39, "end_line": 39, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleSearchChange", "type": "Function", "tier": "TRIVIAL", "start_line": 48, "end_line": 48, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "clearFilters", "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 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LogEntryRow", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 100, "tags": { "TIER": "STANDARD", "SEMANTICS": "log, entry, row, ui", "PURPOSE": "Renders a single log entry with stacked layout optimized for narrow drawer panels.", "LAYER": "UI", "UX_STATE": "Idle -> Displays log entry with color-coded level and source badges.", "TYPE": "{Object} log - The log entry object */" }, "relations": [], "children": [ { "name": "formatTime", "type": "Function", "tier": "STANDARD", "start_line": 13, "end_line": 25, "tags": { "PURPOSE": "Format ISO timestamp to HH:MM:SS */" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 } ], "score": 0.26666666666666655 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 11 }, { "store": "derived", "type": "WRITES_TO", "line": 27 }, { "store": "derived", "type": "WRITES_TO", "line": 44 }, { "store": "derived", "type": "WRITES_TO", "line": 47 }, { "store": "derived", "type": "WRITES_TO", "line": 52 }, { "store": "derived", "type": "WRITES_TO", "line": 53 } ] }, { "name": "TaskResultPanel", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 114, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/tasks/TaskResultPanel.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "statusColor", "type": "Function", "tier": "TRIVIAL", "start_line": 7, "end_line": 7, "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": "FileList", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 144, "tags": { "TIER": "STANDARD", "SEMANTICS": "storage, files, list, table", "PURPOSE": "Displays a table of files with metadata and actions.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> storageService", "PROPS": "files (Array) - List of StoredFile objects.", "EVENTS": "delete (filename) - Dispatched when a file is deleted." }, "relations": [], "children": [ { "name": "isDirectory", "type": "Function", "tier": "STANDARD", "start_line": 26, "end_line": 38, "tags": { "PURPOSE": "Checks if a file object represents a directory.", "PRE": "file object has mime_type property.", "POST": "Returns boolean.", "PARAM": "{Object} file - The file object to check.", "RETURN": "{boolean} True if it's a directory, false otherwise." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "formatSize", "type": "Function", "tier": "STANDARD", "start_line": 40, "end_line": 56, "tags": { "PURPOSE": "Formats file size in bytes into a human-readable string.", "PRE": "bytes is a number.", "POST": "Returns formatted string.", "PARAM": "{number} bytes - The size in bytes.", "RETURN": "{string} Formatted size (e.g., \"1.2 MB\")." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 } ], "score": 0.8 } }, { "name": "formatDate", "type": "Function", "tier": "STANDARD", "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.", "POST": "Returns localized string.", "PARAM": "{string} dateStr - The date string to format.", "RETURN": "{string} Localized date and time." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "delete", "navigate" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 22 }, { "store": "t", "type": "WRITES_TO", "line": 78 }, { "store": "t", "type": "WRITES_TO", "line": 79 }, { "store": "t", "type": "WRITES_TO", "line": 80 }, { "store": "t", "type": "WRITES_TO", "line": 81 }, { "store": "t", "type": "WRITES_TO", "line": 82 }, { "store": "t", "type": "READS_FROM", "line": 120 }, { "store": "t", "type": "READS_FROM", "line": 127 }, { "store": "t", "type": "READS_FROM", "line": 134 } ] }, { "name": "FileUpload", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 135, "tags": { "TIER": "STANDARD", "SEMANTICS": "storage, upload, files", "PURPOSE": "Provides a form for uploading files to a specific category.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> storageService", "PROPS": "None", "EVENTS": "uploaded - Dispatched when a file is successfully uploaded." }, "relations": [], "children": [ { "name": "handleUpload", "type": "Function", "tier": "STANDARD", "start_line": 21, "end_line": 59, "tags": { "PURPOSE": "Handles the file upload process.", "PRE": "A file must be selected in the file input.", "POST": "The file is uploaded to the server and a success toast is shown." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.8 } }, { "name": "handleDrop", "type": "Function", "tier": "STANDARD", "start_line": 61, "end_line": 75, "tags": { "PURPOSE": "Handles the file drop event for drag-and-drop.", "PARAM": "{DragEvent} event - The drop event." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 61 } ], "score": 0.26666666666666655 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "uploaded" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 32 }, { "store": "t", "type": "READS_FROM", "line": 50 }, { "store": "t", "type": "READS_FROM", "line": 54 }, { "store": "t", "type": "WRITES_TO", "line": 80 }, { "store": "t", "type": "WRITES_TO", "line": 84 }, { "store": "t", "type": "WRITES_TO", "line": 89 }, { "store": "t", "type": "WRITES_TO", "line": 90 }, { "store": "t", "type": "READS_FROM", "line": 107 }, { "store": "t", "type": "WRITES_TO", "line": 118 }, { "store": "t", "type": "WRITES_TO", "line": 120 }, { "store": "t", "type": "WRITES_TO", "line": 127 } ] }, { "name": "ConnectionForm", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 95, "tags": { "SEMANTICS": "connection, form, settings", "PURPOSE": "UI component for creating a new database connection configuration.", "LAYER": "UI", "RELATION": "USES -> frontend/src/services/connectionService.js" }, "relations": [], "children": [ { "name": "handleSubmit", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 52, "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." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 28 } ], "score": 0.8 } }, { "name": "resetForm", "type": "Function", "tier": "STANDARD", "start_line": 54, "end_line": 67, "tags": { "PURPOSE": "Resets the connection form fields to their default values.", "PRE": "None.", "POST": "All form input variables are reset." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "success" ], "data_flow": [ { "store": "t", "type": "WRITES_TO", "line": 71 }, { "store": "t", "type": "WRITES_TO", "line": 73 }, { "store": "t", "type": "WRITES_TO", "line": 76 }, { "store": "t", "type": "WRITES_TO", "line": 77 }, { "store": "t", "type": "WRITES_TO", "line": 80 }, { "store": "t", "type": "WRITES_TO", "line": 83 }, { "store": "t", "type": "WRITES_TO", "line": 84 }, { "store": "t", "type": "READS_FROM", "line": 89 } ] }, { "name": "ConnectionList", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 88, "tags": { "SEMANTICS": "connection, list, settings", "PURPOSE": "UI component for listing and deleting saved database connection configurations.", "LAYER": "UI", "RELATION": "USES -> frontend/src/services/connectionService.js" }, "relations": [], "children": [ { "name": "fetchConnections", "type": "Function", "tier": "STANDARD", "start_line": 22, "end_line": 36, "tags": { "PURPOSE": "Fetches the list of connections from the backend.", "PRE": "None.", "POST": "connections array is populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 } ], "score": 0.8 } }, { "name": "handleDelete", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 53, "tags": { "PURPOSE": "Deletes a connection configuration.", "PRE": "id is provided and user confirms deletion.", "POST": "Connection is deleted from backend and list is reloaded." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "t", "type": "WRITES_TO", "line": 62 }, { "store": "t", "type": "WRITES_TO", "line": 65 }, { "store": "t", "type": "WRITES_TO", "line": 67 }, { "store": "t", "type": "READS_FROM", "line": 80 } ] }, { "name": "MapperTool", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 250, "tags": { "SEMANTICS": "mapper, tool, dataset, postgresql, excel", "PURPOSE": "UI component for mapping dataset column verbose names using the MapperPlugin.", "LAYER": "UI", "RELATION": "USES -> frontend/src/services/connectionService.js" }, "relations": [], "children": [ { "name": "fetchData", "type": "Function", "tier": "STANDARD", "start_line": 35, "end_line": 47, "tags": { "PURPOSE": "Fetches environments and saved connections.", "PRE": "None.", "POST": "envs and connections arrays are populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "handleRunMapper", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 90, "tags": { "PURPOSE": "Triggers the MapperPlugin task.", "PRE": "selectedEnv and datasetId are set; source-specific fields are valid.", "POST": "Mapper task is started and selectedTask is updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "handleGenerateDocs", "type": "Function", "tier": "STANDARD", "start_line": 92, "end_line": 127, "tags": { "PURPOSE": "Triggers the LLM Documentation task.", "PRE": "selectedEnv and datasetId are set.", "POST": "Documentation task is started." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 92 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 92 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "t", "type": "READS_FROM", "line": 44 }, { "store": "t", "type": "READS_FROM", "line": 55 }, { "store": "t", "type": "READS_FROM", "line": 60 }, { "store": "t", "type": "READS_FROM", "line": 65 }, { "store": "t", "type": "READS_FROM", "line": 83 }, { "store": "t", "type": "READS_FROM", "line": 98 }, { "store": "t", "type": "WRITES_TO", "line": 144 }, { "store": "t", "type": "WRITES_TO", "line": 149 }, { "store": "t", "type": "READS_FROM", "line": 152 }, { "store": "t", "type": "WRITES_TO", "line": 159 }, { "store": "t", "type": "WRITES_TO", "line": 167 }, { "store": "t", "type": "WRITES_TO", "line": 171 }, { "store": "t", "type": "WRITES_TO", "line": 175 }, { "store": "t", "type": "WRITES_TO", "line": 184 }, { "store": "t", "type": "READS_FROM", "line": 187 }, { "store": "t", "type": "WRITES_TO", "line": 195 }, { "store": "t", "type": "WRITES_TO", "line": 202 }, { "store": "t", "type": "WRITES_TO", "line": 212 }, { "store": "t", "type": "READS_FROM", "line": 237 }, { "store": "t", "type": "READS_FROM", "line": 237 } ] }, { "name": "MapperTool", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 250, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/tools/MapperTool.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "handleApplyDoc", "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 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DebugTool", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 190, "tags": { "SEMANTICS": "debug, tool, api, structure", "PURPOSE": "UI component for system diagnostics and debugging API responses.", "LAYER": "UI", "RELATION": "USES -> frontend/src/services/toolsService.js" }, "relations": [], "children": [ { "name": "fetchEnvironments", "type": "Function", "tier": "STANDARD", "start_line": 27, "end_line": 41, "tags": { "PURPOSE": "Fetches available environments.", "PRE": "API is available.", "POST": "envs variable is populated.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 } ], "score": 0.8 } }, { "name": "handleRunDebug", "type": "Function", "tier": "STANDARD", "start_line": 43, "end_line": 84, "tags": { "PURPOSE": "Triggers the debug task.", "PRE": "Required fields are selected.", "POST": "Task is started and polling begins.", "RETURNS": "{Promise}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 43 } ], "score": 0.8 } }, { "name": "startPolling", "type": "Function", "tier": "STANDARD", "start_line": 86, "end_line": 116, "tags": { "PURPOSE": "Polls for task completion.", "PRE": "Task ID is valid.", "POST": "Polls until success/failure.", "PARAM": "{string} taskId - ID of the task.", "RETURNS": "{void}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "CommitHistory", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 98, "tags": { "SEMANTICS": "git, history, commits, audit", "PURPOSE": "Displays the commit history for a specific dashboard.", "LAYER": "Component", "RELATION": "CALLS -> gitService.getHistory" }, "relations": [], "children": [ { "name": "onMount", "type": "Function", "tier": "STANDARD", "start_line": 30, "end_line": 39, "tags": { "PURPOSE": "Load history when component is mounted.", "PRE": "Component is initialized with dashboardId.", "POST": "loadHistory is called." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "loadHistory", "type": "Function", "tier": "STANDARD", "start_line": 41, "end_line": 60, "tags": { "PURPOSE": "Fetch commit history from the backend.", "PRE": "dashboardId is valid.", "POST": "history state is updated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 41 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 41 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 21 }, { "store": "t", "type": "READS_FROM", "line": 67 }, { "store": "t", "type": "READS_FROM", "line": 70 }, { "store": "t", "type": "WRITES_TO", "line": 79 } ] }, { "name": "DeploymentModal", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 179, "tags": { "SEMANTICS": "deployment, git, environment, modal", "PURPOSE": "Modal for deploying a dashboard to a target environment.", "LAYER": "Component", "RELATION": "DISPATCHES -> deploy", "INVARIANT": "Cannot deploy without a selected environment." }, "relations": [], "children": [ { "name": "loadStatus", "type": "Watcher", "tier": "STANDARD", "start_line": 33, "end_line": 37, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "loadEnvironments", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 63, "tags": { "PURPOSE": "Fetch available environments from API.", "POST": "environments state is populated." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 } ], "score": 0.5333333333333333 } }, { "name": "handleDeploy", "type": "Function", "tier": "STANDARD", "start_line": 65, "end_line": 92, "tags": { "PURPOSE": "Trigger deployment to selected environment.", "PRE": "selectedEnv must be set.", "POST": "deploy event dispatched on success." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 65 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 65 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "deploy" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 20 }, { "store": "effect", "type": "READS_FROM", "line": 34 } ] }, { "name": "ConflictResolver", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 181, "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": 32, "end_line": 48, "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." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 32 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 32 } ], "score": 0.8 } }, { "name": "handleSave", "type": "Function", "tier": "STANDARD", "start_line": 50, "end_line": 76, "tags": { "PURPOSE": "Validate and submit resolutions.", "PRE": "All conflicts must have a resolution.", "POST": "'resolve' event dispatched if valid." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 50 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 50 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "resolve" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 22 } ] }, { "name": "CommitModal", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 268, "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": 37, "end_line": 60, "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": 37 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 37 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 37 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 37 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 37 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 37 } ], "score": 0.26666666666666655 } }, { "name": "loadStatus", "type": "Function", "tier": "STANDARD", "start_line": 62, "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": 62 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 } ], "score": 0.5333333333333333 } }, { "name": "handleCommit", "type": "Function", "tier": "STANDARD", "start_line": 103, "end_line": 129, "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 Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 }, "events": [ "commit" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 22 }, { "store": "effect", "type": "READS_FROM", "line": 131 } ] }, { "name": "BranchSelector", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 181, "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" }, "relations": [], "children": [ { "name": "onMount", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 47, "tags": { "PURPOSE": "Load branches when component is mounted.", "PRE": "Component is initialized.", "POST": "loadBranches is called." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "loadBranches", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 68, "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.", "POST": "branches \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (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.8 } }, { "name": "handleSelect", "type": "Function", "tier": "STANDARD", "start_line": 70, "end_line": 79, "tags": { "PURPOSE": "Handles branch selection from dropdown.", "PRE": "event contains branch name.", "POST": "handleCheckout is called with selected branch." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 } ], "score": 0.8 } }, { "name": "handleCheckout", "type": "Function", "tier": "STANDARD", "start_line": 81, "end_line": 100, "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." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 } ], "score": 0.5333333333333333 } }, { "name": "handleCreate", "type": "Function", "tier": "STANDARD", "start_line": 102, "end_line": 123, "tags": { "PURPOSE": "\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0442\u043a\u0443.", "PRE": "newBranchName is not empty.", "POST": "\u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430; showCreate reset." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 102 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 102 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "events": [ "change" ], "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 25 }, { "store": "t", "type": "READS_FROM", "line": 145 }, { "store": "t", "type": "READS_FROM", "line": 166 }, { "store": "t", "type": "READS_FROM", "line": 174 } ] }, { "name": "GitManager", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 303, "tags": { "SEMANTICS": "git, manager, dashboard, version_control, initialization", "PURPOSE": "\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Git-\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430.", "LAYER": "Component", "RELATION": "CALLS -> gitService" }, "relations": [], "children": [ { "name": "checkStatus", "type": "Function", "tier": "STANDARD", "start_line": 54, "end_line": 75, "tags": { "PURPOSE": "\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u043b\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430.", "PRE": "Component is mounted and has dashboardId.", "POST": "initialized state is set; configs loaded if not initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 } ], "score": 0.8 } }, { "name": "handleInit", "type": "Function", "tier": "STANDARD", "start_line": 77, "end_line": 99, "tags": { "PURPOSE": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430.", "PRE": "selectedConfigId and remoteUrl are provided.", "POST": "Repository is created on backend; initialized set to true." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 } ], "score": 0.8 } }, { "name": "handleSync", "type": "Function", "tier": "STANDARD", "start_line": 101, "end_line": 120, "tags": { "PURPOSE": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 Superset \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c Git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u043c.", "PRE": "Repository is initialized.", "POST": "Dashboard YAMLs are exported to Git and staged." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 101 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 101 } ], "score": 0.8 } }, { "name": "handlePush", "type": "Function", "tier": "STANDARD", "start_line": 122, "end_line": 139, "tags": { "PURPOSE": "Pushes local commits to the remote repository.", "PRE": "Repository is initialized and has commits.", "POST": "Changes are pushed to origin." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 122 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 122 } ], "score": 0.8 } }, { "name": "handlePull", "type": "Function", "tier": "STANDARD", "start_line": 141, "end_line": 158, "tags": { "PURPOSE": "Pulls changes from the remote repository.", "PRE": "Repository is initialized.", "POST": "Local branch is updated with remote changes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 141 }, { "message": "Missing Belief State Logging: Function should use console.log with [ID][STATE] (required for STANDARD tier)", "severity": "WARNING", "line_number": 141 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 33 }, { "store": "t", "type": "WRITES_TO", "line": 167 }, { "store": "t", "type": "READS_FROM", "line": 186 }, { "store": "t", "type": "WRITES_TO", "line": 191 }, { "store": "t", "type": "WRITES_TO", "line": 200 }, { "store": "t", "type": "READS_FROM", "line": 211 }, { "store": "t", "type": "WRITES_TO", "line": 221 }, { "store": "t", "type": "WRITES_TO", "line": 226 }, { "store": "t", "type": "READS_FROM", "line": 233 }, { "store": "t", "type": "READS_FROM", "line": 240 }, { "store": "t", "type": "READS_FROM", "line": 249 }, { "store": "t", "type": "READS_FROM", "line": 257 }, { "store": "t", "type": "WRITES_TO", "line": 263 }, { "store": "t", "type": "READS_FROM", "line": 270 } ] }, { "name": "DocPreview", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 82, "tags": { "TIER": "STANDARD", "PURPOSE": "UI component for previewing generated dataset documentation before saving.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> backend/src/plugins/llm_analysis/plugin.py", "TYPE": "{Object} */" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 17 }, { "store": "t", "type": "WRITES_TO", "line": 37 }, { "store": "t", "type": "WRITES_TO", "line": 40 }, { "store": "t", "type": "WRITES_TO", "line": 43 }, { "store": "t", "type": "READS_FROM", "line": 68 }, { "store": "t", "type": "READS_FROM", "line": 75 }, { "store": "t", "type": "READS_FROM", "line": 75 } ] }, { "name": "DocPreview", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 82, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/llm/DocPreview.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "handleSave", "type": "Function", "tier": "TRIVIAL", "start_line": 22, "end_line": 22, "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": "ProviderConfig", "type": "Component", "tier": "STANDARD", "start_line": 1, "end_line": 312, "tags": { "TIER": "STANDARD", "PURPOSE": "UI form for managing LLM provider configurations.", "LAYER": "UI", "RELATION": "DEPENDS_ON -> backend/src/api/routes/llm.py", "TYPE": "{Array} */" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 }, "data_flow": [ { "store": "props", "type": "WRITES_TO", "line": 15 }, { "store": "t", "type": "WRITES_TO", "line": 54 }, { "store": "t", "type": "WRITES_TO", "line": 63 }, { "store": "t", "type": "READS_FROM", "line": 67 }, { "store": "t", "type": "READS_FROM", "line": 76 }, { "store": "t", "type": "WRITES_TO", "line": 122 }, { "store": "t", "type": "READS_FROM", "line": 130 }, { "store": "t", "type": "READS_FROM", "line": 140 }, { "store": "t", "type": "READS_FROM", "line": 140 }, { "store": "t", "type": "READS_FROM", "line": 148 }, { "store": "t", "type": "READS_FROM", "line": 163 }, { "store": "t", "type": "READS_FROM", "line": 180 }, { "store": "t", "type": "READS_FROM", "line": 194 }, { "store": "t", "type": "READS_FROM", "line": 209 }, { "store": "t", "type": "WRITES_TO", "line": 229 }, { "store": "t", "type": "READS_FROM", "line": 249 }, { "store": "t", "type": "READS_FROM", "line": 256 }, { "store": "t", "type": "READS_FROM", "line": 256 }, { "store": "t", "type": "READS_FROM", "line": 262 }, { "store": "t", "type": "READS_FROM", "line": 280 }, { "store": "t", "type": "READS_FROM", "line": 292 }, { "store": "t", "type": "READS_FROM", "line": 306 } ] }, { "name": "ProviderConfig", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 312, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/llm/ProviderConfig.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "resetForm", "type": "Function", "tier": "TRIVIAL", "start_line": 32, "end_line": 32, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "handleEdit", "type": "Function", "tier": "TRIVIAL", "start_line": 45, "end_line": 45, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "testConnection", "type": "Function", "tier": "TRIVIAL", "start_line": 51, "end_line": 51, "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": 83, "end_line": 83, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "toggleActive", "type": "Function", "tier": "TRIVIAL", "start_line": 107, "end_line": 107, "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": "ValidationReport", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 78, "tags": { "PURPOSE": "Auto-generated module for frontend/src/components/llm/ValidationReport.svelte", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "getStatusColor", "type": "Function", "tier": "TRIVIAL", "start_line": 11, "end_line": 11, "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": "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", "tier": "STANDARD", "start_line": 2, "end_line": 44, "tags": { "PURPOSE": "Script to delete tasks with RUNNING status from the database.", "LAYER": "Utility", "SEMANTICS": "maintenance, database, cleanup" }, "relations": [], "children": [ { "name": "delete_running_tasks", "type": "Function", "tier": "STANDARD", "start_line": 11, "end_line": 40, "tags": { "PURPOSE": "Delete all tasks with RUNNING status from the database.", "PRE": "Database is accessible and TaskRecord model is defined.", "POST": "All tasks with status 'RUNNING' are removed from the database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 11 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 11 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 2 } ], "score": 0.85 } }, { "name": "AppModule", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 274, "tags": { "TIER": "CRITICAL", "SEMANTICS": "app, main, entrypoint, fastapi", "PURPOSE": "The main entry point for the FastAPI application. It initializes the app, configures CORS, sets up dependencies, includes API routers, and defines the WebSocket endpoint for log streaming.", "LAYER": "UI (API)", "RELATION": "Depends on the dependency module and API route modules.", "INVARIANT": "All WebSocket connections must be properly cleaned up on disconnect." }, "relations": [], "children": [ { "name": "App", "type": "Global", "tier": "STANDARD", "start_line": 27, "end_line": 35, "tags": { "SEMANTICS": "app, fastapi, instance", "PURPOSE": "The global FastAPI application instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "startup_event", "type": "Function", "tier": "STANDARD", "start_line": 37, "end_line": 47, "tags": { "PURPOSE": "Handles application startup tasks, such as starting the scheduler.", "PRE": "None.", "POST": "Scheduler is started." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "shutdown_event", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 59, "tags": { "PURPOSE": "Handles application shutdown tasks, such as stopping the scheduler.", "PRE": "None.", "POST": "Scheduler is stopped." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "log_requests", "type": "Function", "tier": "STANDARD", "start_line": 75, "end_line": 109, "tags": { "PURPOSE": "Middleware to log incoming HTTP requests and their response status.", "PRE": "request is a FastAPI Request object.", "POST": "Logs request and response details.", "PARAM": "call_next (Callable) - The next middleware or route handler." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "api.include_routers", "type": "Action", "tier": "STANDARD", "start_line": 129, "end_line": 133, "tags": { "PURPOSE": "Registers all API routers with the FastAPI application.", "LAYER": "API", "SEMANTICS": "routes, registration, api" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "websocket_endpoint", "type": "Function", "tier": "CRITICAL", "start_line": 135, "end_line": 236, "tags": { "PURPOSE": "Provides a WebSocket endpoint for real-time log streaming of a task with server-side filtering.", "PRE": "task_id must be a valid task ID.", "POST": "WebSocket connection is managed and logs are streamed until disconnect.", "TIER": "CRITICAL", "UX_STATE": "Connecting -> Streaming -> (Disconnected)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "StaticFiles", "type": "Mount", "tier": "STANDARD", "start_line": 238, "end_line": 273, "tags": { "SEMANTICS": "static, frontend, spa", "PURPOSE": "Mounts the frontend build directory to serve static assets." }, "relations": [], "children": [ { "name": "serve_spa", "type": "Function", "tier": "STANDARD", "start_line": 245, "end_line": 262, "tags": { "PURPOSE": "Serves the SPA frontend for any path not matched by API routes.", "PRE": "frontend_path exists.", "POST": "Returns the requested file or index.html." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 245 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 245 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 245 } ], "score": 0.7 } }, { "name": "read_root", "type": "Function", "tier": "STANDARD", "start_line": 264, "end_line": 272, "tags": { "PURPOSE": "A simple root endpoint to confirm that the API is running when frontend is missing.", "PRE": "None.", "POST": "Returns a JSON message indicating API status." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "network_error_handler", "type": "Function", "tier": "TRIVIAL", "start_line": 82, "end_line": 82, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "matches_filters", "type": "Function", "tier": "TRIVIAL", "start_line": 170, "end_line": 170, "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": "Dependencies", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 171, "tags": { "SEMANTICS": "dependency, injection, singleton, factory, auth, jwt", "PURPOSE": "Manages creation and provision of shared application dependencies, such as PluginLoader and TaskManager, to avoid circular imports.", "LAYER": "Core", "RELATION": "Used by main app and API routers to get access to shared instances." }, "relations": [], "children": [ { "name": "get_config_manager", "type": "Function", "tier": "STANDARD", "start_line": 32, "end_line": 40, "tags": { "PURPOSE": "Dependency injector for ConfigManager.", "PRE": "Global config_manager must be initialized.", "POST": "Returns shared ConfigManager instance.", "RETURN": "ConfigManager - The shared config manager instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 32 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 32 } ], "score": 0.8 } }, { "name": "get_plugin_loader", "type": "Function", "tier": "STANDARD", "start_line": 57, "end_line": 65, "tags": { "PURPOSE": "Dependency injector for PluginLoader.", "PRE": "Global plugin_loader must be initialized.", "POST": "Returns shared PluginLoader instance.", "RETURN": "PluginLoader - The shared plugin loader instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 } ], "score": 0.8 } }, { "name": "get_task_manager", "type": "Function", "tier": "STANDARD", "start_line": 67, "end_line": 75, "tags": { "PURPOSE": "Dependency injector for TaskManager.", "PRE": "Global task_manager must be initialized.", "POST": "Returns shared TaskManager instance.", "RETURN": "TaskManager - The shared task manager instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 67 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 67 } ], "score": 0.8 } }, { "name": "get_scheduler_service", "type": "Function", "tier": "STANDARD", "start_line": 77, "end_line": 85, "tags": { "PURPOSE": "Dependency injector for SchedulerService.", "PRE": "Global scheduler_service must be initialized.", "POST": "Returns shared SchedulerService instance.", "RETURN": "SchedulerService - The shared scheduler service instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 77 } ], "score": 0.8 } }, { "name": "get_resource_service", "type": "Function", "tier": "STANDARD", "start_line": 87, "end_line": 95, "tags": { "PURPOSE": "Dependency injector for ResourceService.", "PRE": "Global resource_service must be initialized.", "POST": "Returns shared ResourceService instance.", "RETURN": "ResourceService - The shared resource service instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 } ], "score": 0.8 } }, { "name": "get_mapping_service", "type": "Function", "tier": "STANDARD", "start_line": 97, "end_line": 105, "tags": { "PURPOSE": "Dependency injector for MappingService.", "PRE": "Global config_manager must be initialized.", "POST": "Returns new MappingService instance.", "RETURN": "MappingService - A new mapping service instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 } ], "score": 0.8 } }, { "name": "oauth2_scheme", "type": "Variable", "tier": "STANDARD", "start_line": 107, "end_line": 110, "tags": { "PURPOSE": "OAuth2 password bearer scheme for token extraction." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_current_user", "type": "Function", "tier": "STANDARD", "start_line": 112, "end_line": 139, "tags": { "PURPOSE": "Dependency for retrieving currently authenticated user from a JWT.", "PRE": "JWT token provided in Authorization header.", "POST": "Returns User object if token is valid.", "THROW": "HTTPException 401 if token is invalid or user not found.", "PARAM": "db (Session) - Auth database session.", "RETURN": "User - The authenticated user." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 112 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 112 } ], "score": 0.8 } }, { "name": "has_permission", "type": "Function", "tier": "STANDARD", "start_line": 141, "end_line": 169, "tags": { "PURPOSE": "Dependency for checking if the current user has a specific permission.", "PRE": "User is authenticated.", "POST": "Returns True if user has permission.", "THROW": "HTTPException 403 if permission is denied.", "PARAM": "action (str) - The action identifier (READ, EXECUTE, WRITE).", "RETURN": "User - The authenticated user if permission granted." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 141 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 141 } ], "score": 0.8 } }, { "name": "permission_checker", "type": "Function", "tier": "TRIVIAL", "start_line": 150, "end_line": 150, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "test_dataset_dashboard_relations", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 163, "tags": { "PURPOSE": "Auto-generated module for backend/src/scripts/test_dataset_dashboard_relations.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "test_dashboard_dataset_relations", "type": "Function", "tier": "TRIVIAL", "start_line": 21, "end_line": 21, "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.src.scripts.migrate_sqlite_to_postgres", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 361, "tags": { "TIER": "STANDARD", "SEMANTICS": "migration, sqlite, postgresql, config, task_logs, task_records", "PURPOSE": "Migrates legacy config and task history from SQLite/file storage to PostgreSQL.", "LAYER": "Scripts", "INVARIANT": "Script is idempotent for task_records and app_configurations." }, "relations": [ { "type": "READS_FROM", "target": "backend/tasks.db" }, { "type": "READS_FROM", "target": "backend/config.json" }, { "type": "WRITES_TO", "target": "postgresql.task_records" }, { "type": "WRITES_TO", "target": "postgresql.task_logs" }, { "type": "WRITES_TO", "target": "postgresql.app_configurations" } ], "children": [ { "name": "Constants", "type": "Section", "tier": "STANDARD", "start_line": 30, "end_line": 35, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_json_load_if_needed", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 59, "tags": { "TIER": "STANDARD", "PURPOSE": "Parses JSON-like values from SQLite TEXT/JSON columns to Python objects.", "PRE": "value is scalar JSON/text/list/dict or None.", "POST": "Returns normalized Python object or original scalar value." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_find_legacy_config_path", "type": "Function", "tier": "STANDARD", "start_line": 62, "end_line": 78, "tags": { "PURPOSE": "Resolves the existing legacy config.json path from candidates." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 } ], "score": 0.4666666666666666 } }, { "name": "_connect_sqlite", "type": "Function", "tier": "STANDARD", "start_line": 81, "end_line": 88, "tags": { "PURPOSE": "Opens a SQLite connection with row factory." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 } ], "score": 0.4666666666666666 } }, { "name": "_ensure_target_schema", "type": "Function", "tier": "STANDARD", "start_line": 91, "end_line": 153, "tags": { "PURPOSE": "Ensures required PostgreSQL tables exist before migration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 } ], "score": 0.4666666666666666 } }, { "name": "_migrate_config", "type": "Function", "tier": "STANDARD", "start_line": 156, "end_line": 179, "tags": { "PURPOSE": "Migrates legacy config.json into app_configurations(global)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 } ], "score": 0.4666666666666666 } }, { "name": "_migrate_tasks_and_logs", "type": "Function", "tier": "STANDARD", "start_line": 182, "end_line": 295, "tags": { "PURPOSE": "Migrates task_records and task_logs from SQLite into PostgreSQL." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 182 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 182 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 182 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 182 } ], "score": 0.4666666666666666 } }, { "name": "run_migration", "type": "Function", "tier": "STANDARD", "start_line": 298, "end_line": 316, "tags": { "PURPOSE": "Orchestrates migration from SQLite/file to PostgreSQL." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 298 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 298 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 298 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 298 } ], "score": 0.4666666666666666 } }, { "name": "main", "type": "Function", "tier": "STANDARD", "start_line": 319, "end_line": 359, "tags": { "PURPOSE": "CLI entrypoint." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 319 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 319 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 319 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 319 } ], "score": 0.4666666666666666 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.scripts.seed_permissions", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 116, "tags": { "SEMANTICS": "setup, database, auth, permissions, seeding", "PURPOSE": "Populates the auth database with initial system permissions.", "LAYER": "Scripts", "INVARIANT": "Safe to run multiple times (idempotent)." }, "relations": [ { "type": "USES", "target": "backend.src.core.database.get_auth_db" }, { "type": "USES", "target": "backend.src.models.auth.Permission" } ], "children": [ { "name": "INITIAL_PERMISSIONS", "type": "Constant", "tier": "STANDARD", "start_line": 24, "end_line": 49, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "seed_permissions", "type": "Function", "tier": "STANDARD", "start_line": 51, "end_line": 111, "tags": { "PURPOSE": "Inserts missing permissions into the database.", "POST": "All INITIAL_PERMISSIONS exist in the DB." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 51 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 51 } ], "score": 0.7333333333333334 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.scripts.init_auth_db", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 43, "tags": { "SEMANTICS": "setup, database, auth, migration", "PURPOSE": "Initializes the auth database and creates the necessary tables.", "LAYER": "Scripts", "INVARIANT": "Safe to run multiple times (idempotent)." }, "relations": [ { "type": "CALLS", "target": "backend.src.core.database.init_db" } ], "children": [ { "name": "run_init", "type": "Function", "tier": "STANDARD", "start_line": 22, "end_line": 38, "tags": { "PURPOSE": "Main entry point for the initialization script.", "POST": "auth.db is initialized with the correct schema and seeded permissions." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 } ], "score": 0.7333333333333334 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.scripts.create_admin", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 83, "tags": { "TIER": "STANDARD", "SEMANTICS": "admin, setup, user, auth, cli", "PURPOSE": "CLI tool for creating the initial admin user.", "LAYER": "Scripts", "INVARIANT": "Admin user must have the \"Admin\" role." }, "relations": [ { "type": "USES", "target": "backend.src.core.auth.security" }, { "type": "USES", "target": "backend.src.core.database" }, { "type": "USES", "target": "backend.src.models.auth" } ], "children": [ { "name": "create_admin", "type": "Function", "tier": "STANDARD", "start_line": 27, "end_line": 71, "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." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.schemas.auth", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 128, "tags": { "TIER": "STANDARD", "SEMANTICS": "auth, schemas, pydantic, user, token", "PURPOSE": "Pydantic schemas for authentication requests and responses.", "LAYER": "API", "INVARIANT": "Sensitive fields like password must not be included in response schemas." }, "relations": [ { "type": "DEPENDS_ON", "target": "pydantic" } ], "children": [ { "name": "Token", "type": "Class", "tier": "TRIVIAL", "start_line": 17, "end_line": 23, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents a JWT access token response." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TokenData", "type": "Class", "tier": "TRIVIAL", "start_line": 25, "end_line": 31, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents the data encoded in a JWT token." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "PermissionSchema", "type": "Class", "tier": "TRIVIAL", "start_line": 33, "end_line": 43, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents a permission in API responses." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "RoleSchema", "type": "Class", "tier": "STANDARD", "start_line": 45, "end_line": 55, "tags": { "PURPOSE": "Represents a role in API responses." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 45 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 45 } ], "score": 0.7000000000000001 } }, { "name": "RoleCreate", "type": "Class", "tier": "STANDARD", "start_line": 57, "end_line": 63, "tags": { "PURPOSE": "Schema for creating a new role." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 } ], "score": 0.7000000000000001 } }, { "name": "RoleUpdate", "type": "Class", "tier": "STANDARD", "start_line": 65, "end_line": 71, "tags": { "PURPOSE": "Schema for updating an existing role." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 65 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 65 } ], "score": 0.7000000000000001 } }, { "name": "ADGroupMappingSchema", "type": "Class", "tier": "STANDARD", "start_line": 73, "end_line": 82, "tags": { "PURPOSE": "Represents an AD Group to Role mapping in API responses." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 73 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 73 } ], "score": 0.7000000000000001 } }, { "name": "ADGroupMappingCreate", "type": "Class", "tier": "STANDARD", "start_line": 84, "end_line": 89, "tags": { "PURPOSE": "Schema for creating an AD Group mapping." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 84 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 84 } ], "score": 0.7000000000000001 } }, { "name": "UserBase", "type": "Class", "tier": "STANDARD", "start_line": 91, "end_line": 97, "tags": { "PURPOSE": "Base schema for user data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 } ], "score": 0.7000000000000001 } }, { "name": "UserCreate", "type": "Class", "tier": "STANDARD", "start_line": 99, "end_line": 104, "tags": { "PURPOSE": "Schema for creating a new user." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 99 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 99 } ], "score": 0.7000000000000001 } }, { "name": "UserUpdate", "type": "Class", "tier": "STANDARD", "start_line": 106, "end_line": 113, "tags": { "PURPOSE": "Schema for updating an existing user." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 106 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 106 } ], "score": 0.7000000000000001 } }, { "name": "User", "type": "Class", "tier": "STANDARD", "start_line": 115, "end_line": 126, "tags": { "PURPOSE": "Schema for user data in API responses." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 115 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 115 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.core.superset_client", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 557, "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.", "LAYER": "Core", "INVARIANT": "All network operations must use the internal APIClient instance.", "PUBLIC_API": "SupersetClient" }, "relations": [ { "type": "USES", "target": "backend.src.core.utils.network.APIClient" }, { "type": "USES", "target": "backend.src.core.config_models.Environment" } ], "children": [ { "name": "SupersetClient", "type": "Class", "tier": "STANDARD", "start_line": 24, "end_line": 555, "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." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 27, "end_line": 53, "tags": { "PURPOSE": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u043b\u0438\u0435\u043d\u0442.", "PRE": "`env` \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c Environment.", "POST": "\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b `env` \u0438 `network` \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0438 \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0440\u0430\u0431\u043e\u0442\u0435.", "PARAM": "env (Environment) - \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "authenticate", "type": "Function", "tier": "STANDARD", "start_line": 55, "end_line": 63, "tags": { "PURPOSE": "Authenticates the client using the configured credentials.", "PRE": "self.network must be initialized with valid auth configuration.", "POST": "Client is authenticated and tokens are stored.", "RETURN": "Dict[str, str] - Authentication tokens." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "headers", "type": "Function", "tier": "STANDARD", "start_line": 66, "end_line": 73, "tags": { "PURPOSE": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c.", "PRE": "APIClient is initialized and authenticated.", "POST": "Returns a dictionary of HTTP headers." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dashboards", "type": "Function", "tier": "STANDARD", "start_line": 77, "end_line": 97, "tags": { "PURPOSE": "\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0430\u0448\u0431\u043e\u0440\u0434\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 \u0434\u043b\u044f API.", "PRE": "Client is authenticated.", "POST": "Returns a tuple with total count and list of dashboards.", "RETURN": "Tuple[int, List[Dict]] - \u041a\u043e\u0440\u0442\u0435\u0436 (\u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u043e\u0432)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dashboards_summary", "type": "Function", "tier": "STANDARD", "start_line": 99, "end_line": 121, "tags": { "PURPOSE": "Fetches dashboard metadata optimized for the grid.", "PRE": "Client is authenticated.", "POST": "Returns a list of dashboard metadata summaries.", "RETURN": "List[Dict]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "export_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 123, "end_line": 144, "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.", "PRE": "dashboard_id must exist in Superset.", "POST": "Returns ZIP content and filename.", "RETURN": "Tuple[bytes, str] - \u0411\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 ZIP-\u0430\u0440\u0445\u0438\u0432\u0430 \u0438 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "import_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 146, "end_line": 173, "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.", "PRE": "file_name must be a valid ZIP dashboard export.", "POST": "Dashboard is imported or re-imported after deletion.", "RETURN": "Dict - \u041e\u0442\u0432\u0435\u0442 API \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0445\u0430." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 175, "end_line": 189, "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.", "PRE": "dashboard_id must exist.", "POST": "Dashboard is removed from Superset." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_datasets", "type": "Function", "tier": "STANDARD", "start_line": 195, "end_line": 213, "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.", "PRE": "Client is authenticated.", "POST": "Returns total count and list of datasets.", "RETURN": "Tuple[int, List[Dict]] - \u041a\u043e\u0440\u0442\u0435\u0436 (\u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u043e\u0432)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_datasets_summary", "type": "Function", "tier": "STANDARD", "start_line": 215, "end_line": 237, "tags": { "PURPOSE": "Fetches dataset metadata optimized for the Dataset Hub grid.", "PRE": "Client is authenticated.", "POST": "Returns a list of dataset metadata summaries.", "RETURN": "List[Dict]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dataset_detail", "type": "Function", "tier": "STANDARD", "start_line": 239, "end_line": 319, "tags": { "PURPOSE": "Fetches detailed dataset information including columns and linked dashboards", "PRE": "Client is authenticated and dataset_id exists.", "POST": "Returns detailed dataset info with columns and linked dashboards.", "PARAM": "dataset_id (int) - The dataset ID to fetch details for.", "RETURN": "Dict - Dataset details with columns and linked_dashboards." }, "relations": [ { "type": "CALLS", "target": "self.get_dataset" }, { "type": "CALLS", "target": "self.network.request (for related_objects)" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dataset", "type": "Function", "tier": "STANDARD", "start_line": 321, "end_line": 334, "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.", "PRE": "dataset_id must exist.", "POST": "Returns dataset details.", "RETURN": "Dict - \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_dataset", "type": "Function", "tier": "STANDARD", "start_line": 336, "end_line": 355, "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.", "PRE": "dataset_id must exist.", "POST": "Dataset is updated in Superset.", "RETURN": "Dict - \u041e\u0442\u0432\u0435\u0442 API." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_databases", "type": "Function", "tier": "STANDARD", "start_line": 361, "end_line": 381, "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.", "PRE": "Client is authenticated.", "POST": "Returns total count and list of databases.", "RETURN": "Tuple[int, List[Dict]] - \u041a\u043e\u0440\u0442\u0435\u0436 (\u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u0441\u043f\u0438\u0441\u043e\u043a \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_database", "type": "Function", "tier": "STANDARD", "start_line": 383, "end_line": 396, "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.", "PRE": "database_id must exist.", "POST": "Returns database details.", "RETURN": "Dict - \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_databases_summary", "type": "Function", "tier": "STANDARD", "start_line": 398, "end_line": 415, "tags": { "PURPOSE": "Fetch a summary of databases including uuid, name, and engine.", "PRE": "Client is authenticated.", "POST": "Returns list of database summaries.", "RETURN": "List[Dict] - Summary of databases." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_database_by_uuid", "type": "Function", "tier": "STANDARD", "start_line": 417, "end_line": 430, "tags": { "PURPOSE": "Find a database by its UUID.", "PARAM": "db_uuid (str) - The UUID of the database.", "PRE": "db_uuid must be a valid UUID string.", "POST": "Returns database info or None.", "RETURN": "Optional[Dict] - Database info if found, else None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_resolve_target_id_for_delete", "type": "Function", "tier": "STANDARD", "start_line": 436, "end_line": 455, "tags": { "PURPOSE": "Resolves a dashboard ID from either an ID or a slug.", "PRE": "Either dash_id or dash_slug should be provided.", "POST": "Returns the resolved ID or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_do_import", "type": "Function", "tier": "STANDARD", "start_line": 457, "end_line": 475, "tags": { "PURPOSE": "Performs the actual multipart upload for import.", "PRE": "file_name must be a path to an existing ZIP file.", "POST": "Returns the API response from the upload." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_validate_export_response", "type": "Function", "tier": "STANDARD", "start_line": 477, "end_line": 488, "tags": { "PURPOSE": "Validates that the export response is a non-empty ZIP archive.", "PRE": "response must be a valid requests.Response object.", "POST": "Raises SupersetAPIError if validation fails." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_resolve_export_filename", "type": "Function", "tier": "STANDARD", "start_line": 490, "end_line": 503, "tags": { "PURPOSE": "Determines the filename for an exported dashboard.", "PRE": "response must contain Content-Disposition header or dashboard_id must be provided.", "POST": "Returns a sanitized filename string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_validate_query_params", "type": "Function", "tier": "STANDARD", "start_line": 505, "end_line": 513, "tags": { "PURPOSE": "Ensures query parameters have default page and page_size.", "PRE": "query can be None or a dictionary.", "POST": "Returns a dictionary with at least page and page_size." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_fetch_total_object_count", "type": "Function", "tier": "STANDARD", "start_line": 515, "end_line": 526, "tags": { "PURPOSE": "Fetches the total number of items for a given endpoint.", "PRE": "endpoint must be a valid Superset API path.", "POST": "Returns the total count as an integer." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_fetch_all_pages", "type": "Function", "tier": "STANDARD", "start_line": 528, "end_line": 535, "tags": { "PURPOSE": "Iterates through all pages to collect all data items.", "PRE": "pagination_options must contain base_query, total_count, and results_field.", "POST": "Returns a combined list of all items." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_validate_import_file", "type": "Function", "tier": "STANDARD", "start_line": 537, "end_line": 551, "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.", "POST": "Raises error if file is missing, not a ZIP, or missing metadata." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 24 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 24 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "ConfigManagerModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 286, "tags": { "TIER": "STANDARD", "SEMANTICS": "config, manager, persistence, postgresql", "PURPOSE": "Manages application configuration persisted in database with one-time migration from JSON.", "LAYER": "Core", "INVARIANT": "Configuration must always be valid according to AppConfig model.", "PUBLIC_API": "ConfigManager" }, "relations": [ { "type": "DEPENDS_ON", "target": "ConfigModels" }, { "type": "DEPENDS_ON", "target": "AppConfigRecord" }, { "type": "CALLS", "target": "logger" } ], "children": [ { "name": "ConfigManager", "type": "Class", "tier": "STANDARD", "start_line": 29, "end_line": 285, "tags": { "TIER": "STANDARD", "PURPOSE": "A class to handle application configuration persistence and management." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 33, "end_line": 52, "tags": { "TIER": "STANDARD", "PURPOSE": "Initializes the ConfigManager.", "PRE": "isinstance(config_path, str) and len(config_path) > 0", "POST": "self.config is an instance of AppConfig", "PARAM": "config_path (str) - Path to legacy JSON config (used only for initial migration fallback)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_default_config", "type": "Function", "tier": "STANDARD", "start_line": 54, "end_line": 62, "tags": { "PURPOSE": "Returns default application configuration.", "RETURN": "AppConfig - Default configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 54 } ], "score": 0.0 } }, { "name": "_load_from_legacy_file", "type": "Function", "tier": "STANDARD", "start_line": 64, "end_line": 81, "tags": { "PURPOSE": "Loads legacy configuration from config.json for migration fallback.", "RETURN": "AppConfig - Loaded or default configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 } ], "score": 0.26666666666666655 } }, { "name": "_get_record", "type": "Function", "tier": "STANDARD", "start_line": 83, "end_line": 89, "tags": { "PURPOSE": "Loads config record from DB.", "PARAM": "session (Session) - DB session.", "RETURN": "Optional[AppConfigRecord] - Existing record or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 } ], "score": 0.0 } }, { "name": "_load_config", "type": "Function", "tier": "STANDARD", "start_line": 91, "end_line": 114, "tags": { "PURPOSE": "Loads the configuration from DB or performs one-time migration from JSON file.", "PRE": "DB session factory is available.", "POST": "isinstance(return, AppConfig)", "RETURN": "AppConfig - Loaded configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_save_config_to_db", "type": "Function", "tier": "STANDARD", "start_line": 116, "end_line": 145, "tags": { "PURPOSE": "Saves the provided configuration object to DB.", "PRE": "isinstance(config, AppConfig)", "POST": "Configuration saved to database.", "PARAM": "session (Optional[Session]) - Existing DB session for transactional reuse." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "save", "type": "Function", "tier": "STANDARD", "start_line": 147, "end_line": 154, "tags": { "PURPOSE": "Saves the current configuration state to DB.", "PRE": "self.config is set.", "POST": "self._save_config_to_db called." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_config", "type": "Function", "tier": "STANDARD", "start_line": 156, "end_line": 162, "tags": { "PURPOSE": "Returns the current configuration.", "RETURN": "AppConfig - The current configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 156 } ], "score": 0.26666666666666655 } }, { "name": "update_global_settings", "type": "Function", "tier": "STANDARD", "start_line": 164, "end_line": 178, "tags": { "PURPOSE": "Updates the global settings and persists the change.", "PRE": "isinstance(settings, GlobalSettings)", "POST": "self.config.settings updated and saved.", "PARAM": "settings (GlobalSettings) - The new global settings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "validate_path", "type": "Function", "tier": "STANDARD", "start_line": 180, "end_line": 197, "tags": { "PURPOSE": "Validates if a path exists and is writable.", "PARAM": "path (str) - The path to validate.", "RETURN": "tuple (bool, str) - (is_valid, message)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 180 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 180 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 180 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 180 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 180 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 180 } ], "score": 0.26666666666666655 } }, { "name": "get_environments", "type": "Function", "tier": "STANDARD", "start_line": 199, "end_line": 205, "tags": { "PURPOSE": "Returns the list of configured environments.", "RETURN": "List[Environment] - List of environments." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 199 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 199 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 199 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 199 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 199 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 199 } ], "score": 0.26666666666666655 } }, { "name": "has_environments", "type": "Function", "tier": "STANDARD", "start_line": 207, "end_line": 213, "tags": { "PURPOSE": "Checks if at least one environment is configured.", "RETURN": "bool - True if at least one environment exists." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 207 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 207 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 207 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 207 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 207 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 207 } ], "score": 0.26666666666666655 } }, { "name": "get_environment", "type": "Function", "tier": "STANDARD", "start_line": 215, "end_line": 225, "tags": { "PURPOSE": "Returns a single environment by ID.", "PARAM": "env_id (str) - The ID of the environment to retrieve.", "RETURN": "Optional[Environment] - The environment with the given ID, or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 } ], "score": 0.26666666666666655 } }, { "name": "add_environment", "type": "Function", "tier": "STANDARD", "start_line": 227, "end_line": 239, "tags": { "PURPOSE": "Adds a new environment to the configuration.", "PARAM": "env (Environment) - The environment to add." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 227 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 227 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 227 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 227 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 227 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 227 } ], "score": 0.26666666666666655 } }, { "name": "update_environment", "type": "Function", "tier": "STANDARD", "start_line": 241, "end_line": 264, "tags": { "PURPOSE": "Updates an existing environment.", "PARAM": "updated_env (Environment) - The updated environment data.", "RETURN": "bool - True if updated, False otherwise." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 241 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 241 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 241 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 241 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 241 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 241 } ], "score": 0.26666666666666655 } }, { "name": "delete_environment", "type": "Function", "tier": "STANDARD", "start_line": 266, "end_line": 282, "tags": { "PURPOSE": "Deletes an environment by ID.", "PARAM": "env_id (str) - The ID of the environment to delete." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 266 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 266 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 266 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 266 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 266 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 266 } ], "score": 0.26666666666666655 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "SchedulerModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 120, "tags": { "TIER": "STANDARD", "SEMANTICS": "scheduler, apscheduler, cron, backup", "PURPOSE": "Manages scheduled tasks using APScheduler.", "LAYER": "Core", "RELATION": "Uses TaskManager to run scheduled backups." }, "relations": [], "children": [ { "name": "SchedulerService", "type": "Class", "tier": "STANDARD", "start_line": 16, "end_line": 119, "tags": { "TIER": "STANDARD", "SEMANTICS": "scheduler, service, apscheduler", "PURPOSE": "Provides a service to manage scheduled backup tasks." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 21, "end_line": 31, "tags": { "PURPOSE": "Initializes the scheduler service with task and config managers.", "PRE": "task_manager and config_manager must be provided.", "POST": "Scheduler instance is created but not started." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "start", "type": "Function", "tier": "STANDARD", "start_line": 33, "end_line": 43, "tags": { "PURPOSE": "Starts the background scheduler and loads initial schedules.", "PRE": "Scheduler should be initialized.", "POST": "Scheduler is running and schedules are loaded." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "stop", "type": "Function", "tier": "STANDARD", "start_line": 45, "end_line": 54, "tags": { "PURPOSE": "Stops the background scheduler.", "PRE": "Scheduler should be running.", "POST": "Scheduler is shut down." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "load_schedules", "type": "Function", "tier": "STANDARD", "start_line": 56, "end_line": 69, "tags": { "PURPOSE": "Loads backup schedules from configuration and registers them.", "PRE": "config_manager must have valid configuration.", "POST": "All enabled backup jobs are added to the scheduler." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "add_backup_job", "type": "Function", "tier": "STANDARD", "start_line": 71, "end_line": 91, "tags": { "PURPOSE": "Adds a scheduled backup job for an environment.", "PRE": "env_id and cron_expression must be valid strings.", "POST": "A new job is added to the scheduler or replaced if it already exists.", "PARAM": "cron_expression (str) - The cron expression for the schedule." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_trigger_backup", "type": "Function", "tier": "STANDARD", "start_line": 93, "end_line": 117, "tags": { "PURPOSE": "Triggered by the scheduler to start a backup task.", "PRE": "env_id must be a valid environment ID.", "POST": "A new backup task is created in the task manager if not already running.", "PARAM": "env_id (str) - The ID of the environment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ConfigModels", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 67, "tags": { "TIER": "STANDARD", "SEMANTICS": "config, models, pydantic", "PURPOSE": "Defines the data models for application configuration using Pydantic.", "LAYER": "Core" }, "relations": [ { "type": "READS_FROM", "target": "app_configurations (database)" }, { "type": "USED_BY", "target": "ConfigManager" } ], "children": [ { "name": "Schedule", "type": "DataClass", "tier": "STANDARD", "start_line": 13, "end_line": 18, "tags": { "PURPOSE": "Represents a backup schedule configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Environment", "type": "DataClass", "tier": "STANDARD", "start_line": 20, "end_line": 32, "tags": { "PURPOSE": "Represents a Superset environment configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LoggingConfig", "type": "DataClass", "tier": "STANDARD", "start_line": 34, "end_line": 43, "tags": { "PURPOSE": "Defines the configuration for the application's logging system." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "GlobalSettings", "type": "DataClass", "tier": "STANDARD", "start_line": 45, "end_line": 58, "tags": { "PURPOSE": "Represents global application settings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "AppConfig", "type": "DataClass", "tier": "STANDARD", "start_line": 60, "end_line": 65, "tags": { "PURPOSE": "The root configuration model containing all application settings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.core.database", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 146, "tags": { "SEMANTICS": "database, postgresql, sqlalchemy, session, persistence", "PURPOSE": "Configures database connection and session management (PostgreSQL-first).", "LAYER": "Core", "INVARIANT": "A single engine instance is used for the entire application." }, "relations": [ { "type": "DEPENDS_ON", "target": "sqlalchemy" }, { "type": "USES", "target": "backend.src.models.mapping" }, { "type": "USES", "target": "backend.src.core.auth.config" } ], "children": [ { "name": "BASE_DIR", "type": "Variable", "tier": "STANDARD", "start_line": 27, "end_line": 30, "tags": { "PURPOSE": "Base directory for the backend." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DATABASE_URL", "type": "Constant", "tier": "STANDARD", "start_line": 32, "end_line": 39, "tags": { "PURPOSE": "URL for the main application database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TASKS_DATABASE_URL", "type": "Constant", "tier": "STANDARD", "start_line": 41, "end_line": 45, "tags": { "PURPOSE": "URL for the tasks execution database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "AUTH_DATABASE_URL", "type": "Constant", "tier": "STANDARD", "start_line": 47, "end_line": 50, "tags": { "PURPOSE": "URL for the authentication database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "engine", "type": "Variable", "tier": "STANDARD", "start_line": 52, "end_line": 62, "tags": { "PURPOSE": "SQLAlchemy engine for mappings database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "tasks_engine", "type": "Variable", "tier": "STANDARD", "start_line": 64, "end_line": 67, "tags": { "PURPOSE": "SQLAlchemy engine for tasks database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "auth_engine", "type": "Variable", "tier": "STANDARD", "start_line": 69, "end_line": 72, "tags": { "PURPOSE": "SQLAlchemy engine for authentication database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "SessionLocal", "type": "Class", "tier": "STANDARD", "start_line": 74, "end_line": 78, "tags": { "PURPOSE": "A session factory for the main mappings database.", "PRE": "engine is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 74 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 74 } ], "score": 0.7000000000000001 } }, { "name": "TasksSessionLocal", "type": "Class", "tier": "STANDARD", "start_line": 80, "end_line": 84, "tags": { "PURPOSE": "A session factory for the tasks execution database.", "PRE": "tasks_engine is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 80 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 80 } ], "score": 0.7000000000000001 } }, { "name": "AuthSessionLocal", "type": "Class", "tier": "STANDARD", "start_line": 86, "end_line": 90, "tags": { "PURPOSE": "A session factory for the authentication database.", "PRE": "auth_engine is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 } ], "score": 0.7000000000000001 } }, { "name": "init_db", "type": "Function", "tier": "STANDARD", "start_line": 92, "end_line": 102, "tags": { "PURPOSE": "Initializes the database by creating all tables.", "PRE": "engine, tasks_engine and auth_engine are initialized.", "POST": "Database tables created in all databases.", "SIDE_EFFECT": "Creates physical database files if they don't exist." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_db", "type": "Function", "tier": "STANDARD", "start_line": 104, "end_line": 116, "tags": { "PURPOSE": "Dependency for getting a database session.", "PRE": "SessionLocal is initialized.", "POST": "Session is closed after use.", "RETURN": "Generator[Session, None, None]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_tasks_db", "type": "Function", "tier": "STANDARD", "start_line": 118, "end_line": 130, "tags": { "PURPOSE": "Dependency for getting a tasks database session.", "PRE": "TasksSessionLocal is initialized.", "POST": "Session is closed after use.", "RETURN": "Generator[Session, None, None]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_auth_db", "type": "Function", "tier": "STANDARD", "start_line": 132, "end_line": 144, "tags": { "PURPOSE": "Dependency for getting an authentication database session.", "PRE": "AuthSessionLocal is initialized.", "POST": "Session is closed after use.", "RETURN": "Generator[Session, None, None]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_build_engine", "type": "Function", "tier": "TRIVIAL", "start_line": 53, "end_line": 53, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "LoggerModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 279, "tags": { "SEMANTICS": "logging, websocket, streaming, handler", "PURPOSE": "Configures the application's logging system, including a custom handler for buffering logs and streaming them over WebSockets.", "LAYER": "Core", "RELATION": "Used by the main application and other modules to log events. The WebSocketLogHandler is used by the WebSocket endpoint in app.py." }, "relations": [], "children": [ { "name": "BeliefFormatter", "type": "Class", "tier": "STANDARD", "start_line": 25, "end_line": 41, "tags": { "PURPOSE": "Custom logging formatter that adds belief state prefixes to log messages." }, "relations": [], "children": [ { "name": "format", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 40, "tags": { "PURPOSE": "Formats the log record, adding belief state context if available.", "PRE": "record is a logging.LogRecord.", "POST": "Returns formatted string.", "PARAM": "record (logging.LogRecord) - The log record to format.", "RETURN": "str - The formatted log message.", "SEMANTICS": "logging, formatter, context" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 } ], "score": 0.7000000000000001 } }, { "name": "LogEntry", "type": "Class", "tier": "STANDARD", "start_line": 44, "end_line": 53, "tags": { "SEMANTICS": "log, entry, record, pydantic", "PURPOSE": "A Pydantic model representing a single, structured log entry. This is a re-definition for consistency, as it's also defined in task_manager.py." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 } ], "score": 0.7000000000000001 } }, { "name": "belief_scope", "type": "Function", "tier": "STANDARD", "start_line": 55, "end_line": 89, "tags": { "PURPOSE": "Context manager for structured Belief State logging.", "PARAM": "message (str) - Optional entry message.", "PRE": "anchor_id must be provided.", "POST": "Thread-local belief state is updated and entry/exit logs are generated.", "SEMANTICS": "logging, context, belief_state" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "configure_logger", "type": "Function", "tier": "STANDARD", "start_line": 91, "end_line": 134, "tags": { "PURPOSE": "Configures the logger with the provided logging settings.", "PRE": "config is a valid LoggingConfig instance.", "POST": "Logger level, handlers, belief state flag, and task log level are updated.", "PARAM": "config (LoggingConfig) - The logging configuration.", "SEMANTICS": "logging, configuration, initialization" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task_log_level", "type": "Function", "tier": "STANDARD", "start_line": 136, "end_line": 145, "tags": { "PURPOSE": "Returns the current task log level filter.", "PRE": "None.", "POST": "Returns the task log level string.", "RETURN": "str - The current task log level (DEBUG, INFO, WARNING, ERROR).", "SEMANTICS": "logging, configuration, getter" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "should_log_task_level", "type": "Function", "tier": "STANDARD", "start_line": 147, "end_line": 164, "tags": { "PURPOSE": "Checks if a log level should be recorded based on task_log_level setting.", "PRE": "level is a valid log level string.", "POST": "Returns True if level meets or exceeds task_log_level threshold.", "PARAM": "level (str) - The log level to check.", "RETURN": "bool - True if the level should be logged.", "SEMANTICS": "logging, filter, level" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "WebSocketLogHandler", "type": "Class", "tier": "STANDARD", "start_line": 166, "end_line": 228, "tags": { "SEMANTICS": "logging, handler, websocket, buffer", "PURPOSE": "A custom logging handler that captures log records into a buffer. It is designed to be extended for real-time log streaming over WebSockets." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 174, "end_line": 185, "tags": { "PURPOSE": "Initializes the handler with a fixed-capacity buffer.", "PRE": "capacity is an integer.", "POST": "Instance initialized with empty deque.", "PARAM": "capacity (int) - Maximum number of logs to keep in memory.", "SEMANTICS": "logging, initialization, buffer" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "emit", "type": "Function", "tier": "STANDARD", "start_line": 187, "end_line": 213, "tags": { "PURPOSE": "Captures a log record, formats it, and stores it in the buffer.", "PRE": "record is a logging.LogRecord.", "POST": "Log is added to the log_buffer.", "PARAM": "record (logging.LogRecord) - The log record to emit.", "SEMANTICS": "logging, handler, buffer" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_recent_logs", "type": "Function", "tier": "STANDARD", "start_line": 215, "end_line": 226, "tags": { "PURPOSE": "Returns a list of recent log entries from the buffer.", "PRE": "None.", "POST": "Returns list of LogEntry objects.", "RETURN": "List[LogEntry] - List of buffered log entries.", "SEMANTICS": "logging, buffer, retrieval" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 166 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 166 } ], "score": 0.7000000000000001 } }, { "name": "Logger", "type": "Global", "tier": "STANDARD", "start_line": 230, "end_line": 278, "tags": { "SEMANTICS": "logger, global, instance", "PURPOSE": "The global logger instance for the application, configured with both a console handler and the custom WebSocket handler." }, "relations": [], "children": [ { "name": "believed", "type": "Function", "tier": "STANDARD", "start_line": 235, "end_line": 257, "tags": { "PURPOSE": "A decorator that wraps a function in a belief scope.", "PARAM": "anchor_id (str) - The identifier for the semantic block.", "PRE": "anchor_id must be a string.", "POST": "Returns a decorator function." }, "relations": [], "children": [ { "name": "decorator", "type": "Function", "tier": "STANDARD", "start_line": 241, "end_line": 255, "tags": { "PURPOSE": "Internal decorator for belief scope.", "PRE": "func must be a callable.", "POST": "Returns the wrapped function." }, "relations": [], "children": [ { "name": "wrapper", "type": "Function", "tier": "STANDARD", "start_line": 246, "end_line": 253, "tags": { "PURPOSE": "Internal wrapper that enters belief scope.", "PRE": "None.", "POST": "Executes the function within a belief scope." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "PluginLoader", "type": "Class", "tier": "STANDARD", "start_line": 8, "end_line": 201, "tags": { "TIER": "STANDARD", "SEMANTICS": "plugin, loader, dynamic, import", "PURPOSE": "Scans a specified directory for Python modules, dynamically loads them, and registers any classes that are valid implementations of the PluginBase interface.", "LAYER": "Core", "RELATION": "Depends on PluginBase. It is used by the main application to discover and manage available plugins." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 20, "end_line": 31, "tags": { "PURPOSE": "Initializes the PluginLoader with a directory to scan.", "PRE": "plugin_dir is a valid directory path.", "POST": "Plugins are loaded and registered.", "PARAM": "plugin_dir (str) - The directory containing plugin modules." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_load_plugins", "type": "Function", "tier": "STANDARD", "start_line": 33, "end_line": 66, "tags": { "PURPOSE": "Scans the plugin directory and loads all valid plugins.", "PRE": "plugin_dir exists or can be created.", "POST": "_load_module is called for each .py file." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_load_module", "type": "Function", "tier": "STANDARD", "start_line": 68, "end_line": 116, "tags": { "PURPOSE": "Loads a single Python module and discovers PluginBase implementations.", "PRE": "module_name and file_path are valid.", "POST": "Plugin classes are instantiated and registered.", "PARAM": "file_path (str) - The path to the module file." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_register_plugin", "type": "Function", "tier": "STANDARD", "start_line": 118, "end_line": 157, "tags": { "PURPOSE": "Registers a PluginBase instance and its configuration.", "PRE": "plugin_instance is a valid implementation of PluginBase.", "POST": "Plugin is added to _plugins and _plugin_configs.", "PARAM": "plugin_instance (PluginBase) - The plugin instance to register." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_plugin", "type": "Function", "tier": "STANDARD", "start_line": 160, "end_line": 172, "tags": { "PURPOSE": "Retrieves a loaded plugin instance by its ID.", "PRE": "plugin_id is a string.", "POST": "Returns plugin instance or None.", "PARAM": "plugin_id (str) - The unique identifier of the plugin.", "RETURN": "Optional[PluginBase] - The plugin instance if found, otherwise None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_all_plugin_configs", "type": "Function", "tier": "STANDARD", "start_line": 174, "end_line": 185, "tags": { "PURPOSE": "Returns a list of all registered plugin configurations.", "PRE": "None.", "POST": "Returns list of all PluginConfig objects.", "RETURN": "List[PluginConfig] - A list of plugin configurations." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "has_plugin", "type": "Function", "tier": "STANDARD", "start_line": 187, "end_line": 199, "tags": { "PURPOSE": "Checks if a plugin with the given ID is registered.", "PRE": "plugin_id is a string.", "POST": "Returns True if plugin exists.", "PARAM": "plugin_id (str) - The unique identifier of the plugin.", "RETURN": "bool - True if the plugin is registered, False otherwise." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.core.migration_engine", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 102, "tags": { "SEMANTICS": "migration, engine, zip, yaml, transformation", "PURPOSE": "Handles the interception and transformation of Superset asset ZIP archives.", "LAYER": "Core", "INVARIANT": "ZIP structure must be preserved after transformation." }, "relations": [ { "type": "DEPENDS_ON", "target": "PyYAML" } ], "children": [ { "name": "MigrationEngine", "type": "Class", "tier": "STANDARD", "start_line": 20, "end_line": 100, "tags": { "PURPOSE": "Engine for transforming Superset export ZIPs." }, "relations": [], "children": [ { "name": "transform_zip", "type": "Function", "tier": "STANDARD", "start_line": 24, "end_line": 76, "tags": { "PURPOSE": "Extracts ZIP, replaces database UUIDs in YAMLs, and re-packages.", "PARAM": "strip_databases (bool) - Whether to remove the databases directory from the archive.", "PRE": "zip_path must point to a valid Superset export archive.", "POST": "Transformed archive is saved to output_path.", "RETURN": "bool - True if successful." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_transform_yaml", "type": "Function", "tier": "STANDARD", "start_line": 78, "end_line": 98, "tags": { "PURPOSE": "Replaces database_uuid in a single YAML file.", "PARAM": "db_mapping (Dict[str, str]) - UUID mapping dictionary.", "PRE": "file_path must exist and be readable.", "POST": "File is modified in-place if source UUID matches mapping." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 78 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 78 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 78 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 20 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 20 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "PluginBase", "type": "Class", "tier": "STANDARD", "start_line": 7, "end_line": 128, "tags": { "SEMANTICS": "plugin, interface, base, abstract", "PURPOSE": "Defines the abstract base class that all plugins must implement to be recognized by the system. It enforces a common structure for plugin metadata and execution.", "LAYER": "Core", "RELATION": "Used by PluginLoader to identify valid plugins.", "INVARIANT": "All plugins MUST inherit from this class." }, "relations": [], "children": [ { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 21, "end_line": 30, "tags": { "PURPOSE": "Returns the unique identifier for the plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string ID.", "RETURN": "str - Plugin ID." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 43, "tags": { "PURPOSE": "Returns the human-readable name of the plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string name.", "RETURN": "str - Plugin name." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 47, "end_line": 56, "tags": { "PURPOSE": "Returns a brief description of the plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string description.", "RETURN": "str - Plugin description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 60, "end_line": 69, "tags": { "PURPOSE": "Returns the version of the plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string version.", "RETURN": "str - Plugin version." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "required_permission", "type": "Function", "tier": "STANDARD", "start_line": 72, "end_line": 81, "tags": { "PURPOSE": "Returns the required permission string to execute this plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string permission.", "RETURN": "str - Required permission (e.g., \"plugin:backup:execute\")." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 84, "end_line": 96, "tags": { "PURPOSE": "Returns the frontend route for the plugin's UI, if applicable.", "PRE": "Plugin instance exists.", "POST": "Returns string route or None.", "RETURN": "Optional[str] - Frontend route." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 99, "end_line": 111, "tags": { "PURPOSE": "Returns the JSON schema for the plugin's input parameters.", "PRE": "Plugin instance exists.", "POST": "Returns dict schema.", "RETURN": "Dict[str, Any] - JSON schema." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 114, "end_line": 127, "tags": { "PURPOSE": "Executes the plugin's core logic.", "PARAM": "params (Dict[str, Any]) - Validated input parameters.", "PRE": "params must be a dictionary.", "POST": "Plugin execution is completed." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 7 } ], "score": 0.8 } }, { "name": "PluginConfig", "type": "Class", "tier": "STANDARD", "start_line": 130, "end_line": 143, "tags": { "SEMANTICS": "plugin, config, schema, pydantic", "PURPOSE": "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", "RELATION": "Instantiated by PluginLoader after validating a PluginBase instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 130 } ], "score": 0.8 } }, { "name": "backend.src.core.auth.config", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 47, "tags": { "SEMANTICS": "auth, config, settings, jwt, adfs", "PURPOSE": "Centralized configuration for authentication and authorization.", "LAYER": "Core", "INVARIANT": "All sensitive configuration must have defaults or be loaded from environment." }, "relations": [ { "type": "DEPENDS_ON", "target": "pydantic" } ], "children": [ { "name": "AuthConfig", "type": "Class", "tier": "STANDARD", "start_line": 15, "end_line": 40, "tags": { "PURPOSE": "Holds authentication-related settings.", "PRE": "Environment variables may be provided via .env file.", "POST": "Returns a configuration object with validated settings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 } ], "score": 0.7000000000000001 } }, { "name": "auth_config", "type": "Variable", "tier": "STANDARD", "start_line": 42, "end_line": 45, "tags": { "PURPOSE": "Singleton instance of AuthConfig." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.core.auth.jwt", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 55, "tags": { "TIER": "STANDARD", "SEMANTICS": "jwt, token, session, auth", "PURPOSE": "JWT token generation and validation logic.", "LAYER": "Core", "INVARIANT": "Tokens must include expiration time and user identifier." }, "relations": [ { "type": "DEPENDS_ON", "target": "jose" }, { "type": "USES", "target": "backend.src.core.auth.config.auth_config" } ], "children": [ { "name": "create_access_token", "type": "Function", "tier": "STANDARD", "start_line": 20, "end_line": 39, "tags": { "PURPOSE": "Generates a new JWT access token.", "PRE": "data dict contains 'sub' (user_id) and optional 'scopes' (roles).", "POST": "Returns a signed JWT string.", "PARAM": "expires_delta (Optional[timedelta]) - Custom expiration time.", "RETURN": "str - The encoded JWT." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "decode_token", "type": "Function", "tier": "STANDARD", "start_line": 41, "end_line": 53, "tags": { "PURPOSE": "Decodes and validates a JWT token.", "PRE": "token is a signed JWT string.", "POST": "Returns the decoded payload if valid.", "PARAM": "token (str) - The JWT to decode.", "RETURN": "dict - The decoded payload.", "THROW": "jose.JWTError - If token is invalid or expired." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.core.auth.oauth", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 51, "tags": { "SEMANTICS": "auth, oauth, oidc, adfs", "PURPOSE": "ADFS OIDC configuration and client using Authlib.", "LAYER": "Core", "INVARIANT": "Must use secure OIDC flows." }, "relations": [ { "type": "DEPENDS_ON", "target": "authlib" }, { "type": "USES", "target": "backend.src.core.auth.config.auth_config" } ], "children": [ { "name": "oauth", "type": "Variable", "tier": "STANDARD", "start_line": 16, "end_line": 19, "tags": { "PURPOSE": "Global Authlib OAuth registry." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "register_adfs", "type": "Function", "tier": "STANDARD", "start_line": 21, "end_line": 36, "tags": { "PURPOSE": "Registers the ADFS OIDC client.", "PRE": "ADFS configuration is provided in auth_config.", "POST": "ADFS client is registered in oauth registry." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.8 } }, { "name": "is_adfs_configured", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 46, "tags": { "PURPOSE": "Checks if ADFS is properly configured.", "PRE": "None.", "POST": "Returns True if ADFS client is registered, False otherwise.", "RETURN": "bool - Configuration status." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 38 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 38 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.core.auth.logger", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 32, "tags": { "TIER": "STANDARD", "SEMANTICS": "auth, logger, audit, security", "PURPOSE": "Audit logging for security-related events.", "LAYER": "Core", "INVARIANT": "Must not log sensitive data like passwords or full tokens." }, "relations": [ { "type": "USES", "target": "backend.src.core.logger.belief_scope" } ], "children": [ { "name": "log_security_event", "type": "Function", "tier": "STANDARD", "start_line": 16, "end_line": 30, "tags": { "PURPOSE": "Logs a security-related event for audit trails.", "PRE": "event_type and username are strings.", "POST": "Security event is written to the application log.", "PARAM": "details (dict) - Additional non-sensitive metadata." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.core.auth.security", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 45, "tags": { "SEMANTICS": "security, password, hashing, bcrypt", "PURPOSE": "Utility for password hashing and verification using Passlib.", "LAYER": "Core", "INVARIANT": "Uses bcrypt for hashing with standard work factor." }, "relations": [ { "type": "DEPENDS_ON", "target": "passlib" } ], "children": [ { "name": "verify_password", "type": "Function", "tier": "STANDARD", "start_line": 14, "end_line": 32, "tags": { "PURPOSE": "Verifies a plain password against a hashed password.", "PRE": "plain_password is a string, hashed_password is a bcrypt hash.", "POST": "Returns True if password matches, False otherwise.", "PARAM": "hashed_password (str) - The stored hash.", "RETURN": "bool - Verification result." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 14 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 14 } ], "score": 0.8 } }, { "name": "get_password_hash", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 43, "tags": { "PURPOSE": "Generates a bcrypt hash for a plain password.", "PRE": "password is a string.", "POST": "Returns a secure bcrypt hash string.", "PARAM": "password (str) - The password to hash.", "RETURN": "str - The generated hash." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.core.auth.repository", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 123, "tags": { "SEMANTICS": "auth, repository, database, user, role", "PURPOSE": "Data access layer for authentication-related entities.", "LAYER": "Core", "INVARIANT": "All database operations must be performed within a session." }, "relations": [ { "type": "DEPENDS_ON", "target": "sqlalchemy" }, { "type": "USES", "target": "backend.src.models.auth" } ], "children": [ { "name": "AuthRepository", "type": "Class", "tier": "STANDARD", "start_line": 18, "end_line": 121, "tags": { "PURPOSE": "Encapsulates database operations for authentication." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 21, "end_line": 26, "tags": { "PURPOSE": "Initializes the repository with a database session.", "PARAM": "db (Session) - SQLAlchemy session." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.26666666666666655 } }, { "name": "get_user_by_username", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 37, "tags": { "PURPOSE": "Retrieves a user by their username.", "PRE": "username is a string.", "POST": "Returns User object if found, else None.", "PARAM": "username (str) - The username to search for.", "RETURN": "Optional[User] - The found user or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_user_by_id", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 48, "tags": { "PURPOSE": "Retrieves a user by their unique ID.", "PRE": "user_id is a valid UUID string.", "POST": "Returns User object if found, else None.", "PARAM": "user_id (str) - The user's unique identifier.", "RETURN": "Optional[User] - The found user or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_role_by_name", "type": "Function", "tier": "STANDARD", "start_line": 50, "end_line": 59, "tags": { "PURPOSE": "Retrieves a role by its name.", "PRE": "name is a string.", "POST": "Returns Role object if found, else None.", "PARAM": "name (str) - The role name to search for.", "RETURN": "Optional[Role] - The found role or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_last_login", "type": "Function", "tier": "STANDARD", "start_line": 61, "end_line": 73, "tags": { "PURPOSE": "Updates the last_login timestamp for a user.", "PRE": "user object is a valid User instance.", "POST": "User's last_login is updated in the database.", "SIDE_EFFECT": "Commits the transaction.", "PARAM": "user (User) - The user to update." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_role_by_id", "type": "Function", "tier": "STANDARD", "start_line": 75, "end_line": 84, "tags": { "PURPOSE": "Retrieves a role by its unique ID.", "PRE": "role_id is a string.", "POST": "Returns Role object if found, else None.", "PARAM": "role_id (str) - The role's unique identifier.", "RETURN": "Optional[Role] - The found role or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_permission_by_id", "type": "Function", "tier": "STANDARD", "start_line": 86, "end_line": 95, "tags": { "PURPOSE": "Retrieves a permission by its unique ID.", "PRE": "perm_id is a string.", "POST": "Returns Permission object if found, else None.", "PARAM": "perm_id (str) - The permission's unique identifier.", "RETURN": "Optional[Permission] - The found permission or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_permission_by_resource_action", "type": "Function", "tier": "STANDARD", "start_line": 97, "end_line": 110, "tags": { "PURPOSE": "Retrieves a permission by resource and action.", "PRE": "resource and action are strings.", "POST": "Returns Permission object if found, else None.", "PARAM": "action (str) - The action name.", "RETURN": "Optional[Permission] - The found permission or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "list_permissions", "type": "Function", "tier": "STANDARD", "start_line": 112, "end_line": 119, "tags": { "PURPOSE": "Lists all available permissions.", "POST": "Returns a list of all Permission objects.", "RETURN": "List[Permission] - List of permissions." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 112 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 112 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 112 } ], "score": 0.6333333333333333 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "test_auth", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 179, "tags": { "TIER": "STANDARD", "PURPOSE": "Unit tests for authentication module", "LAYER": "Domain" }, "relations": [ { "type": "VERIFIES", "target": "src.core.auth" } ], "children": [ { "name": "db_session", "type": "Function", "tier": "TRIVIAL", "start_line": 33, "end_line": 33, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "auth_service", "type": "Function", "tier": "TRIVIAL", "start_line": 47, "end_line": 47, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "auth_repo", "type": "Function", "tier": "TRIVIAL", "start_line": 52, "end_line": 52, "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": 56, "end_line": 56, "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": 75, "end_line": 75, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_create_session", "type": "Function", "tier": "TRIVIAL", "start_line": 101, "end_line": 101, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_role_permission_association", "type": "Function", "tier": "TRIVIAL", "start_line": 120, "end_line": 120, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_user_role_association", "type": "Function", "tier": "TRIVIAL", "start_line": 140, "end_line": 140, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_ad_group_mapping", "type": "Function", "tier": "TRIVIAL", "start_line": 162, "end_line": 162, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.core.utils.fileio", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 487, "tags": { "SEMANTICS": "file, io, zip, yaml, temp, archive, utility", "PURPOSE": "\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u0430\u0440\u0445\u0438\u0432\u0430\u043c\u0438 ZIP, \u0444\u0430\u0439\u043b\u0430\u043c\u0438 YAML \u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439.", "LAYER": "Infra", "PUBLIC_API": "create_temp_file, remove_empty_directories, read_dashboard_from_disk, calculate_crc32, RetentionPolicy, archive_exports, save_and_unpack_dashboard, update_yamls, create_dashboard_export, sanitize_filename, get_filename_from_headers, consolidate_archive_folders" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.logger" }, { "type": "DEPENDS_ON", "target": "pyyaml" } ], "children": [ { "name": "InvalidZipFormatError", "type": "Class", "tier": "STANDARD", "start_line": 25, "end_line": 29, "tags": { "PURPOSE": "Exception raised when a file is not a valid ZIP archive." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 } ], "score": 0.7000000000000001 } }, { "name": "create_temp_file", "type": "Function", "tier": "STANDARD", "start_line": 31, "end_line": 70, "tags": { "PURPOSE": "\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c.", "PRE": "suffix \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0435\u0439 \u0442\u0438\u043f \u0440\u0435\u0441\u0443\u0440\u0441\u0430.", "POST": "\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u0441\u043e\u0437\u0434\u0430\u043d \u0438 \u043f\u0443\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d; \u0440\u0435\u0441\u0443\u0440\u0441 \u0443\u0434\u0430\u043b\u0435\u043d \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430.", "PARAM": "mode (str) - \u0420\u0435\u0436\u0438\u043c \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0444\u0430\u0439\u043b (e.g., 'wb').", "YIELDS": "Path - \u041f\u0443\u0442\u044c \u043a \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u0443.", "THROW": "IOError - \u041f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "remove_empty_directories", "type": "Function", "tier": "STANDARD", "start_line": 72, "end_line": 95, "tags": { "PURPOSE": "\u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u043f\u0443\u0441\u0442\u044b\u0435 \u043f\u043e\u0434\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0443\u0442\u0438.", "PRE": "root_dir \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0443\u0442\u0435\u043c \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438.", "POST": "\u0412\u0441\u0435 \u043f\u0443\u0441\u0442\u044b\u0435 \u043f\u043e\u0434\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043e \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e.", "PARAM": "root_dir (str) - \u041f\u0443\u0442\u044c \u043a \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438.", "RETURN": "int - \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "read_dashboard_from_disk", "type": "Function", "tier": "STANDARD", "start_line": 97, "end_line": 113, "tags": { "PURPOSE": "\u0427\u0438\u0442\u0430\u0435\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 \u0441 \u0434\u0438\u0441\u043a\u0430.", "PRE": "file_path \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0430\u0439\u0442\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0438 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430.", "PARAM": "file_path (str) - \u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443.", "RETURN": "Tuple[bytes, str] - \u041a\u043e\u0440\u0442\u0435\u0436 (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430).", "THROW": "FileNotFoundError - \u0415\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "calculate_crc32", "type": "Function", "tier": "STANDARD", "start_line": 115, "end_line": 127, "tags": { "PURPOSE": "\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 CRC32 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430.", "PRE": "file_path \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c Path \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u0444\u0430\u0439\u043b\u0443.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 8-\u0437\u043d\u0430\u0447\u043d\u0443\u044e hex-\u0441\u0442\u0440\u043e\u043a\u0443 CRC32.", "PARAM": "file_path (Path) - \u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443.", "RETURN": "str - 8-\u0437\u043d\u0430\u0447\u043d\u043e\u0435 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 CRC32.", "THROW": "IOError - \u041f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "RetentionPolicy", "type": "DataClass", "tier": "STANDARD", "start_line": 130, "end_line": 137, "tags": { "PURPOSE": "\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0432\u043e\u0432 (\u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0435, \u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u0435, \u0435\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u044b\u0435)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "archive_exports", "type": "Function", "tier": "STANDARD", "start_line": 140, "end_line": 221, "tags": { "PURPOSE": "\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0430\u0440\u0445\u0438\u0432\u043e\u043c \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e.", "PRE": "output_dir \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0443\u0442\u0435\u043c \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438.", "POST": "\u0421\u0442\u0430\u0440\u044b\u0435 \u0438\u043b\u0438 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u0430\u0440\u0445\u0438\u0432\u044b \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0435.", "PARAM": "deduplicate (bool) - \u0424\u043b\u0430\u0433 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u043f\u043e CRC32." }, "relations": [ { "type": "CALLS", "target": "apply_retention_policy" }, { "type": "CALLS", "target": "calculate_crc32" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "apply_retention_policy", "type": "Function", "tier": "STANDARD", "start_line": 223, "end_line": 256, "tags": { "PURPOSE": "(Helper) \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0444\u0430\u0439\u043b\u043e\u0432, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f \u0442\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c.", "PRE": "files_with_dates is a list of (Path, date) tuples.", "POST": "Returns a set of files to keep.", "PARAM": "policy (RetentionPolicy) - \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.", "RETURN": "set - \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0443\u0442\u0435\u0439 \u043a \u0444\u0430\u0439\u043b\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "save_and_unpack_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 258, "end_line": 287, "tags": { "PURPOSE": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 ZIP-\u0430\u0440\u0445\u0438\u0432\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e.", "PRE": "zip_content \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0433\u043e ZIP-\u0430\u0440\u0445\u0438\u0432\u0430.", "POST": "ZIP-\u0444\u0430\u0439\u043b \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d, \u0438 \u0435\u0441\u043b\u0438 unpack=True, \u043e\u043d \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d \u0432 output_dir.", "PARAM": "original_filename (Optional[str]) - \u0418\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.", "RETURN": "Tuple[Path, Optional[Path]] - \u041f\u0443\u0442\u044c \u043a ZIP-\u0444\u0430\u0439\u043b\u0443 \u0438, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u043e, \u043f\u0443\u0442\u044c \u043a \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u043e\u0439.", "THROW": "InvalidZipFormatError - \u041f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 ZIP." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_yamls", "type": "Function", "tier": "STANDARD", "start_line": 289, "end_line": 309, "tags": { "PURPOSE": "\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 YAML-\u0444\u0430\u0439\u043b\u0430\u0445, \u0437\u0430\u043c\u0435\u043d\u044f\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044f regex.", "PRE": "path \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0435\u0439.", "POST": "\u0412\u0441\u0435 YAML \u0444\u0430\u0439\u043b\u044b \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c.", "THROW": "FileNotFoundError - \u0415\u0441\u043b\u0438 `path` \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.", "PARAM": "replace_string (Optional[LiteralString]) - \u0421\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b." }, "relations": [ { "type": "CALLS", "target": "_update_yaml_file" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_update_yaml_file", "type": "Function", "tier": "STANDARD", "start_line": 311, "end_line": 376, "tags": { "PURPOSE": "(Helper) \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043e\u0434\u0438\u043d YAML \u0444\u0430\u0439\u043b.", "PRE": "file_path \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c Path \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 YAML \u0444\u0430\u0439\u043b\u0443.", "POST": "\u0424\u0430\u0439\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c \u0438\u043b\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u043c\u0443 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044e.", "PARAM": "replace_string (Optional[str]) - \u0417\u0430\u043c\u0435\u043d\u0430." }, "relations": [], "children": [ { "name": "replacer", "type": "Function", "tier": "STANDARD", "start_line": 358, "end_line": 367, "tags": { "PURPOSE": "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u043c\u0435\u043d\u044b, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0449\u0430\u044f \u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0431\u044b\u043b\u0438.", "PRE": "match \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u043d\u043e\u0432\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438 \u043a\u0430\u0432\u044b\u0447\u043a\u0438." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 358 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 358 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 358 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_dashboard_export", "type": "Function", "tier": "STANDARD", "start_line": 378, "end_line": 404, "tags": { "PURPOSE": "\u0421\u043e\u0437\u0434\u0430\u0435\u0442 ZIP-\u0430\u0440\u0445\u0438\u0432 \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043f\u0443\u0442\u0435\u0439.", "PRE": "source_paths \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0443\u0442\u0438.", "POST": "ZIP-\u0430\u0440\u0445\u0438\u0432 \u0441\u043e\u0437\u0434\u0430\u043d \u043f\u043e \u043f\u0443\u0442\u0438 zip_path.", "PARAM": "exclude_extensions (Optional[List[str]]) - \u0421\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.", "RETURN": "bool - `True` \u043f\u0440\u0438 \u0443\u0441\u043f\u0435\u0445\u0435, `False` \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "sanitize_filename", "type": "Function", "tier": "STANDARD", "start_line": 406, "end_line": 415, "tags": { "PURPOSE": "\u041e\u0447\u0438\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043e\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0432 \u0438\u043c\u0435\u043d\u0430\u0445 \u0444\u0430\u0439\u043b\u043e\u0432.", "PRE": "filename \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0439.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0431\u0435\u0437 \u0441\u043f\u0435\u0446\u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.", "PARAM": "filename (str) - \u0418\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430.", "RETURN": "str - \u041e\u0447\u0438\u0449\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_filename_from_headers", "type": "Function", "tier": "STANDARD", "start_line": 417, "end_line": 429, "tags": { "PURPOSE": "\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0438\u0437 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 'Content-Disposition'.", "PRE": "headers \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 None, \u0435\u0441\u043b\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.", "PARAM": "headers (dict) - \u0421\u043b\u043e\u0432\u0430\u0440\u044c HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432.", "RETURN": "Optional[str] - \u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430 or `None`." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "consolidate_archive_folders", "type": "Function", "tier": "STANDARD", "start_line": 431, "end_line": 485, "tags": { "PURPOSE": "\u041a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0431\u0449\u0435\u0433\u043e \u0441\u043b\u0430\u0433\u0430 \u0432 \u0438\u043c\u0435\u043d\u0438.", "PRE": "root_directory \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c Path \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438.", "POST": "\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u0432 \u043e\u0434\u043d\u0443.", "THROW": "TypeError, ValueError - \u0415\u0441\u043b\u0438 `root_directory` \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d.", "PARAM": "root_directory (Path) - \u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0430\u0446\u0438\u0438." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.core.utils.network", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 397, "tags": { "SEMANTICS": "network, http, client, api, requests, session, authentication", "PURPOSE": "\u0418\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0443\u044e HTTP-\u043b\u043e\u0433\u0438\u043a\u0443 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 Superset API, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0435\u0439, retry-\u043b\u043e\u0433\u0438\u043a\u0443 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043e\u0448\u0438\u0431\u043e\u043a.", "LAYER": "Infra", "PUBLIC_API": "APIClient" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.logger" }, { "type": "DEPENDS_ON", "target": "requests" } ], "children": [ { "name": "SupersetAPIError", "type": "Class", "tier": "STANDARD", "start_line": 22, "end_line": 34, "tags": { "PURPOSE": "Base exception for all Superset API related errors." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 25, "end_line": 33, "tags": { "PURPOSE": "Initializes the exception with a message and context.", "PRE": "message is a string, context is a dict.", "POST": "Exception is initialized with context." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 } ], "score": 0.7000000000000001 } }, { "name": "AuthenticationError", "type": "Class", "tier": "STANDARD", "start_line": 36, "end_line": 47, "tags": { "PURPOSE": "Exception raised when authentication fails." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 46, "tags": { "PURPOSE": "Initializes the authentication error.", "PRE": "message is a string, context is a dict.", "POST": "AuthenticationError is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 36 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 36 } ], "score": 0.7000000000000001 } }, { "name": "PermissionDeniedError", "type": "Class", "tier": "STANDARD", "start_line": 49, "end_line": 60, "tags": { "PURPOSE": "Exception raised when access is denied." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 52, "end_line": 59, "tags": { "PURPOSE": "Initializes the permission denied error.", "PRE": "message is a string, context is a dict.", "POST": "PermissionDeniedError is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 49 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 49 } ], "score": 0.7000000000000001 } }, { "name": "DashboardNotFoundError", "type": "Class", "tier": "STANDARD", "start_line": 62, "end_line": 73, "tags": { "PURPOSE": "Exception raised when a dashboard cannot be found." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 65, "end_line": 72, "tags": { "PURPOSE": "Initializes the not found error with resource ID.", "PRE": "resource_id is provided.", "POST": "DashboardNotFoundError is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 } ], "score": 0.7000000000000001 } }, { "name": "NetworkError", "type": "Class", "tier": "STANDARD", "start_line": 75, "end_line": 87, "tags": { "PURPOSE": "Exception raised when a network level error occurs." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 78, "end_line": 86, "tags": { "PURPOSE": "Initializes the network error.", "PRE": "message is a string.", "POST": "NetworkError is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 } ], "score": 0.7000000000000001 } }, { "name": "APIClient", "type": "Class", "tier": "STANDARD", "start_line": 89, "end_line": 395, "tags": { "PURPOSE": "\u0418\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0443\u0435\u0442 HTTP-\u043b\u043e\u0433\u0438\u043a\u0443 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u0435\u0441\u0441\u0438\u0438, \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e, \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 94, "end_line": 111, "tags": { "PURPOSE": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 API \u043a\u043b\u0438\u0435\u043d\u0442 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439, \u0441\u0435\u0441\u0441\u0438\u0435\u0439 \u0438 \u043b\u043e\u0433\u0433\u0435\u0440\u043e\u043c.", "PARAM": "timeout (int) - \u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.", "PRE": "config must contain 'base_url' and 'auth'.", "POST": "APIClient instance is initialized with a session." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_init_session", "type": "Function", "tier": "STANDARD", "start_line": 113, "end_line": 157, "tags": { "PURPOSE": "\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 `requests.Session` \u0441 retry-\u043b\u043e\u0433\u0438\u043a\u043e\u0439.", "PRE": "self.request_settings must be initialized.", "POST": "Returns a configured requests.Session instance.", "RETURN": "requests.Session - \u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0441\u0435\u0441\u0441\u0438\u044f." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "authenticate", "type": "Function", "tier": "STANDARD", "start_line": 159, "end_line": 198, "tags": { "PURPOSE": "\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432 Superset API \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 access \u0438 CSRF \u0442\u043e\u043a\u0435\u043d\u044b.", "PRE": "self.auth and self.base_url must be valid.", "POST": "`self._tokens` \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d, `self._authenticated` \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 `True`.", "RETURN": "Dict[str, str] - \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u0442\u043e\u043a\u0435\u043d\u0430\u043c\u0438.", "THROW": "AuthenticationError, NetworkError - \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "headers", "type": "Function", "tier": "STANDARD", "start_line": 201, "end_line": 215, "tags": { "PURPOSE": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.", "PRE": "APIClient is initialized and authenticated or can be authenticated.", "POST": "Returns headers including auth tokens." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "request", "type": "Function", "tier": "STANDARD", "start_line": 217, "end_line": 242, "tags": { "PURPOSE": "\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043a API.", "PARAM": "raw_response (bool) - \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043b\u0438 \u0441\u044b\u0440\u043e\u0439 \u043e\u0442\u0432\u0435\u0442.", "PRE": "method and endpoint must be strings.", "POST": "Returns response content or raw Response object.", "RETURN": "`requests.Response` \u0435\u0441\u043b\u0438 `raw_response=True`, \u0438\u043d\u0430\u0447\u0435 `dict`.", "THROW": "SupersetAPIError, NetworkError \u0438 \u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u0430\u0441\u0441\u044b." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_handle_http_error", "type": "Function", "tier": "STANDARD", "start_line": 244, "end_line": 262, "tags": { "PURPOSE": "(Helper) \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 HTTP \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.", "PARAM": "endpoint (str) - \u042d\u043d\u0434\u043f\u043e\u0438\u043d\u0442.", "PRE": "e must be a valid HTTPError with a response.", "POST": "Raises a specific SupersetAPIError or subclass." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_handle_network_error", "type": "Function", "tier": "STANDARD", "start_line": 264, "end_line": 279, "tags": { "PURPOSE": "(Helper) \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 `NetworkError`.", "PARAM": "url (str) - URL.", "PRE": "e must be a RequestException.", "POST": "Raises a NetworkError." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "upload_file", "type": "Function", "tier": "STANDARD", "start_line": 281, "end_line": 310, "tags": { "PURPOSE": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0447\u0435\u0440\u0435\u0437 multipart/form-data.", "PARAM": "timeout (Optional[int]) - \u0422\u0430\u0439\u043c\u0430\u0443\u0442.", "PRE": "file_info must contain 'file_obj' and 'file_name'.", "POST": "File is uploaded and response returned.", "RETURN": "\u041e\u0442\u0432\u0435\u0442 API \u0432 \u0432\u0438\u0434\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f.", "THROW": "SupersetAPIError, NetworkError, TypeError." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_perform_upload", "type": "Function", "tier": "STANDARD", "start_line": 312, "end_line": 338, "tags": { "PURPOSE": "(Helper) \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 POST \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c.", "PARAM": "timeout (Optional[int]) - \u0422\u0430\u0439\u043c\u0430\u0443\u0442.", "PRE": "url, files, and headers must be provided.", "POST": "POST request is performed and JSON response returned.", "RETURN": "Dict - \u041e\u0442\u0432\u0435\u0442." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "fetch_paginated_count", "type": "Function", "tier": "STANDARD", "start_line": 340, "end_line": 352, "tags": { "PURPOSE": "\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u043f\u0430\u0433\u0438\u043d\u0430\u0446\u0438\u0438.", "PARAM": "count_field (str) - \u041f\u043e\u043b\u0435 \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c.", "PRE": "query_params must be a dictionary.", "POST": "Returns total count of items.", "RETURN": "int - \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "fetch_paginated_data", "type": "Function", "tier": "STANDARD", "start_line": 354, "end_line": 393, "tags": { "PURPOSE": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0430\u0433\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430.", "PARAM": "pagination_options (Dict[str, Any]) - \u041e\u043f\u0446\u0438\u0438 \u043f\u0430\u0433\u0438\u043d\u0430\u0446\u0438\u0438.", "PRE": "pagination_options must contain 'base_query', 'results_field'. 'total_count' is optional.", "POST": "Returns all items across all pages.", "RETURN": "List[Any] - \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 89 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 89 } ], "score": 0.7000000000000001 } }, { "name": "init_poolmanager", "type": "Function", "tier": "TRIVIAL", "start_line": 124, "end_line": 124, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.core.utils.matching", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 55, "tags": { "SEMANTICS": "fuzzy, matching, rapidfuzz, database, mapping", "PURPOSE": "Provides utility functions for fuzzy matching database names.", "LAYER": "Core", "INVARIANT": "Confidence scores are returned as floats between 0.0 and 1.0." }, "relations": [ { "type": "DEPENDS_ON", "target": "rapidfuzz" } ], "children": [ { "name": "suggest_mappings", "type": "Function", "tier": "STANDARD", "start_line": 15, "end_line": 53, "tags": { "PURPOSE": "Suggests mappings between source and target databases using fuzzy matching.", "PRE": "source_databases and target_databases are lists of dictionaries with 'uuid' and 'database_name'.", "POST": "Returns a list of suggested mappings with confidence scores.", "PARAM": "threshold (int) - Minimum confidence score (0-100).", "RETURN": "List[Dict] - Suggested mappings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.core.utils.dataset_mapper", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 237, "tags": { "SEMANTICS": "dataset, mapping, postgresql, xlsx, superset", "PURPOSE": "\u042d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 (verbose_map) \u0432 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430\u0445 Superset, \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044f \u0438\u0445 \u0438\u0437 PostgreSQL \u0438\u043b\u0438 XLSX-\u0444\u0430\u0439\u043b\u043e\u0432.", "LAYER": "Domain", "PUBLIC_API": "DatasetMapper" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.core.superset_client" }, { "type": "DEPENDS_ON", "target": "pandas" }, { "type": "DEPENDS_ON", "target": "psycopg2" } ], "children": [ { "name": "DatasetMapper", "type": "Class", "tier": "STANDARD", "start_line": 18, "end_line": 235, "tags": { "PURPOSE": "\u041a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u043c\u0435\u043f\u043f\u0438\u043d\u0433\u0430 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f verbose_map \u0432 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430\u0445 Superset." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 21, "end_line": 26, "tags": { "PURPOSE": "Initializes the mapper.", "POST": "\u041e\u0431\u044a\u0435\u043a\u0442 DatasetMapper \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.6333333333333333 } }, { "name": "get_postgres_comments", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 91, "tags": { "PURPOSE": "\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u043a\u043e\u043b\u043e\u043d\u043a\u0430\u043c \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 PostgreSQL.", "PRE": "table_name \u0438 table_schema \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0433\u0434\u0435 \u043a\u043b\u044e\u0447\u0438 - \u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u043a, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f - \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438\u0437 \u0411\u0414.", "THROW": "Exception - \u041f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0411\u0414.", "PARAM": "table_schema (str) - \u0421\u0445\u0435\u043c\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.", "RETURN": "Dict[str, str] - \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 \u043a \u043a\u043e\u043b\u043e\u043d\u043a\u0430\u043c." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "load_excel_mappings", "type": "Function", "tier": "STANDARD", "start_line": 93, "end_line": 111, "tags": { "PURPOSE": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043c\u0435\u043f\u043f\u0438\u043d\u0433\u0438 'column_name' -> 'column_comment' \u0438\u0437 XLSX \u0444\u0430\u0439\u043b\u0430.", "PRE": "file_path \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 XLSX \u0444\u0430\u0439\u043b.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u043c\u0435\u043f\u043f\u0438\u043d\u0433\u0430\u043c\u0438 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430.", "THROW": "Exception - \u041f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430.", "PARAM": "file_path (str) - \u041f\u0443\u0442\u044c \u043a XLSX \u0444\u0430\u0439\u043b\u0443.", "RETURN": "Dict[str, str] - \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0441 \u043c\u0435\u043f\u043f\u0438\u043d\u0433\u0430\u043c\u0438." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "run_mapping", "type": "Function", "tier": "STANDARD", "start_line": 113, "end_line": 234, "tags": { "PURPOSE": "\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u043f\u043f\u0438\u043d\u0433\u0430 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f verbose_map \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430 \u0432 Superset.", "PRE": "dataset_id \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c ID \u0432 Superset.", "POST": "\u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0432 Superset \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u0447\u0435\u0440\u0435\u0437 API.", "PARAM": "table_schema (Optional[str]) - \u0421\u0445\u0435\u043c\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 PostgreSQL." }, "relations": [ { "type": "CALLS", "target": "self.get_postgres_comments" }, { "type": "CALLS", "target": "self.load_excel_mappings" }, { "type": "CALLS", "target": "superset_client.get_dataset" }, { "type": "CALLS", "target": "superset_client.update_dataset" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "test_logger", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 228, "tags": { "TIER": "STANDARD", "PURPOSE": "Unit tests for logger module", "LAYER": "Infra" }, "relations": [ { "type": "VERIFIES", "target": "src.core.logger" } ], "children": [ { "name": "test_belief_scope_logs_entry_action_exit_at_debug", "type": "Function", "tier": "STANDARD", "start_line": 24, "end_line": 53, "tags": { "PURPOSE": "Test that belief_scope generates [ID][Entry], [ID][Action], and [ID][Exit] logs at DEBUG level.", "PRE": "belief_scope is available. caplog fixture is used. Logger configured to DEBUG.", "POST": "Logs are verified to contain Entry, Action, and Exit tags at DEBUG level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_belief_scope_error_handling", "type": "Function", "tier": "STANDARD", "start_line": 56, "end_line": 85, "tags": { "PURPOSE": "Test that belief_scope logs Coherence:Failed on exception.", "PRE": "belief_scope is available. caplog fixture is used. Logger configured to DEBUG.", "POST": "Logs are verified to contain Coherence:Failed tag." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_belief_scope_success_coherence", "type": "Function", "tier": "STANDARD", "start_line": 88, "end_line": 114, "tags": { "PURPOSE": "Test that belief_scope logs Coherence:OK on success.", "PRE": "belief_scope is available. caplog fixture is used. Logger configured to DEBUG.", "POST": "Logs are verified to contain Coherence:OK tag." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_belief_scope_not_visible_at_info", "type": "Function", "tier": "STANDARD", "start_line": 117, "end_line": 136, "tags": { "PURPOSE": "Test that belief_scope Entry/Exit/Coherence logs are NOT visible at INFO level.", "PRE": "belief_scope is available. caplog fixture is used.", "POST": "Entry/Exit/Coherence logs are not captured at INFO level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_task_log_level_default", "type": "Function", "tier": "STANDARD", "start_line": 139, "end_line": 147, "tags": { "PURPOSE": "Test that default task log level is INFO.", "PRE": "None.", "POST": "Default level is INFO." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_should_log_task_level", "type": "Function", "tier": "STANDARD", "start_line": 150, "end_line": 161, "tags": { "PURPOSE": "Test that should_log_task_level correctly filters log levels.", "PRE": "None.", "POST": "Filtering works correctly for all level combinations." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_configure_logger_task_log_level", "type": "Function", "tier": "STANDARD", "start_line": 164, "end_line": 188, "tags": { "PURPOSE": "Test that configure_logger updates task_log_level.", "PRE": "LoggingConfig is available.", "POST": "task_log_level is updated correctly." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_enable_belief_state_flag", "type": "Function", "tier": "STANDARD", "start_line": 191, "end_line": 225, "tags": { "PURPOSE": "Test that enable_belief_state flag controls belief_scope logging.", "PRE": "LoggingConfig is available. caplog fixture is used.", "POST": "belief_scope logs are controlled by the flag." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "TaskLoggerModule", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 167, "tags": { "SEMANTICS": "task, logger, context, plugin, attribution", "PURPOSE": "Provides a dedicated logger for tasks with automatic source attribution.", "LAYER": "Core", "TIER": "CRITICAL", "INVARIANT": "Each TaskLogger instance is bound to a specific task_id and default source." }, "relations": [ { "type": "DEPENDS_ON", "target": "TaskManager, CALLS -> TaskManager._add_log" } ], "children": [ { "name": "TaskLogger", "type": "Class", "tier": "CRITICAL", "start_line": 13, "end_line": 165, "tags": { "SEMANTICS": "logger, task, source, attribution", "PURPOSE": "A wrapper around TaskManager._add_log that carries task_id and source context.", "TIER": "CRITICAL", "INVARIANT": "All log calls include the task_id and source.", "UX_STATE": "Idle -> Logging -> (system records log)" }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 33, "end_line": 49, "tags": { "PURPOSE": "Initialize the TaskLogger with task context.", "PRE": "add_log_fn is a callable that accepts (task_id, level, message, context, source, metadata).", "POST": "TaskLogger is ready to log messages.", "PARAM": "source (str) - Default source for logs (default: \"plugin\")." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "with_source", "type": "Function", "tier": "STANDARD", "start_line": 51, "end_line": 64, "tags": { "PURPOSE": "Create a sub-logger with a different default source.", "PRE": "source is a non-empty string.", "POST": "Returns new TaskLogger with the same task_id but different source.", "PARAM": "source (str) - New default source.", "RETURN": "TaskLogger - New logger instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_log", "type": "Function", "tier": "STANDARD", "start_line": 66, "end_line": 89, "tags": { "PURPOSE": "Internal method to log a message at a given level.", "PRE": "level is a valid log level string.", "POST": "Log entry added via add_log_fn.", "PARAM": "metadata (Optional[Dict]) - Additional structured data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "debug", "type": "Function", "tier": "STANDARD", "start_line": 91, "end_line": 103, "tags": { "PURPOSE": "Log a DEBUG level message.", "PARAM": "metadata (Optional[Dict]) - Additional data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 91 } ], "score": 0.26666666666666655 } }, { "name": "info", "type": "Function", "tier": "STANDARD", "start_line": 105, "end_line": 117, "tags": { "PURPOSE": "Log an INFO level message.", "PARAM": "metadata (Optional[Dict]) - Additional data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 } ], "score": 0.26666666666666655 } }, { "name": "warning", "type": "Function", "tier": "STANDARD", "start_line": 119, "end_line": 131, "tags": { "PURPOSE": "Log a WARNING level message.", "PARAM": "metadata (Optional[Dict]) - Additional data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 } ], "score": 0.26666666666666655 } }, { "name": "error", "type": "Function", "tier": "STANDARD", "start_line": 133, "end_line": 145, "tags": { "PURPOSE": "Log an ERROR level message.", "PARAM": "metadata (Optional[Dict]) - Additional data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 133 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 133 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 133 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 133 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 133 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 133 } ], "score": 0.26666666666666655 } }, { "name": "progress", "type": "Function", "tier": "STANDARD", "start_line": 147, "end_line": 163, "tags": { "PURPOSE": "Log a progress update with percentage.", "PRE": "percent is between 0 and 100.", "POST": "Log entry with progress metadata added.", "PARAM": "source (Optional[str]) - Override source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskPersistenceModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 427, "tags": { "SEMANTICS": "persistence, sqlite, sqlalchemy, task, storage", "PURPOSE": "Handles the persistence of tasks using SQLAlchemy and the tasks.db database.", "LAYER": "Core", "RELATION": "Used by TaskManager to save and load tasks.", "INVARIANT": "Database schema must match the TaskRecord model structure." }, "relations": [], "children": [ { "name": "TaskPersistenceService", "type": "Class", "tier": "STANDARD", "start_line": 21, "end_line": 215, "tags": { "SEMANTICS": "persistence, service, database, sqlalchemy", "PURPOSE": "Provides methods to save and load tasks from the tasks.db database using SQLAlchemy." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 59, "end_line": 67, "tags": { "PURPOSE": "Initializes the persistence service.", "PRE": "None.", "POST": "Service is ready." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "persist_task", "type": "Function", "tier": "STANDARD", "start_line": 69, "end_line": 128, "tags": { "PURPOSE": "Persists or updates a single task in the database.", "PRE": "isinstance(task, Task)", "POST": "Task record created or updated in database.", "PARAM": "task (Task) - The task object to persist.", "SIDE_EFFECT": "Writes to task_records table in tasks.db" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "persist_tasks", "type": "Function", "tier": "STANDARD", "start_line": 130, "end_line": 139, "tags": { "PURPOSE": "Persists multiple tasks.", "PRE": "isinstance(tasks, list)", "POST": "All tasks in list are persisted.", "PARAM": "tasks (List[Task]) - The list of tasks to persist." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "load_tasks", "type": "Function", "tier": "STANDARD", "start_line": 141, "end_line": 193, "tags": { "PURPOSE": "Loads tasks from the database.", "PRE": "limit is an integer.", "POST": "Returns list of Task objects.", "PARAM": "status (Optional[TaskStatus]) - Filter by status.", "RETURN": "List[Task] - The loaded tasks." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_tasks", "type": "Function", "tier": "STANDARD", "start_line": 195, "end_line": 213, "tags": { "PURPOSE": "Deletes specific tasks from the database.", "PRE": "task_ids is a list of strings.", "POST": "Specified task records deleted from database.", "PARAM": "task_ids (List[str]) - List of task IDs to delete." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.7000000000000001 } }, { "name": "TaskLogPersistenceService", "type": "Class", "tier": "CRITICAL", "start_line": 217, "end_line": 426, "tags": { "SEMANTICS": "persistence, service, database, log, sqlalchemy", "PURPOSE": "Provides methods to save and query task logs from the task_logs table.", "TIER": "CRITICAL", "INVARIANT": "Log entries are batch-inserted for performance." }, "relations": [ { "type": "DEPENDS_ON", "target": "TaskLogRecord" } ], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 229, "end_line": 234, "tags": { "PURPOSE": "Initialize the log persistence service.", "POST": "Service is ready." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 } ], "score": 0.6333333333333333 } }, { "name": "add_logs", "type": "Function", "tier": "STANDARD", "start_line": 236, "end_line": 265, "tags": { "PURPOSE": "Batch insert log entries for a task.", "PRE": "logs is a list of LogEntry objects.", "POST": "All logs inserted into task_logs table.", "PARAM": "logs (List[LogEntry]) - Log entries to insert.", "SIDE_EFFECT": "Writes to task_logs table." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_logs", "type": "Function", "tier": "STANDARD", "start_line": 267, "end_line": 317, "tags": { "PURPOSE": "Query logs for a task with filtering and pagination.", "PRE": "task_id is a valid task ID.", "POST": "Returns list of TaskLog objects matching filters.", "PARAM": "log_filter (LogFilter) - Filter parameters.", "RETURN": "List[TaskLog] - Filtered log entries." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_log_stats", "type": "Function", "tier": "STANDARD", "start_line": 319, "end_line": 362, "tags": { "PURPOSE": "Get statistics about logs for a task.", "PRE": "task_id is a valid task ID.", "POST": "Returns LogStats with counts by level and source.", "PARAM": "task_id (str) - The task ID.", "RETURN": "LogStats - Statistics about task logs." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_sources", "type": "Function", "tier": "STANDARD", "start_line": 364, "end_line": 381, "tags": { "PURPOSE": "Get unique sources for a task's logs.", "PRE": "task_id is a valid task ID.", "POST": "Returns list of unique source strings.", "PARAM": "task_id (str) - The task ID.", "RETURN": "List[str] - Unique source names." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_logs_for_task", "type": "Function", "tier": "STANDARD", "start_line": 383, "end_line": 402, "tags": { "PURPOSE": "Delete all logs for a specific task.", "PRE": "task_id is a valid task ID.", "POST": "All logs for the task are deleted.", "PARAM": "task_id (str) - The task ID.", "SIDE_EFFECT": "Deletes from task_logs table." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_logs_for_tasks", "type": "Function", "tier": "STANDARD", "start_line": 404, "end_line": 424, "tags": { "PURPOSE": "Delete all logs for multiple tasks.", "PRE": "task_ids is a list of task IDs.", "POST": "All logs for the tasks are deleted.", "PARAM": "task_ids (List[str]) - List of task IDs." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_json_load_if_needed", "type": "Function", "tier": "TRIVIAL", "start_line": 26, "end_line": 26, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_parse_datetime", "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": "_resolve_environment_id", "type": "Function", "tier": "TRIVIAL", "start_line": 53, "end_line": 53, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "json_serializable", "type": "Function", "tier": "TRIVIAL", "start_line": 92, "end_line": 92, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "TaskManagerModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 593, "tags": { "SEMANTICS": "task, manager, lifecycle, execution, state", "PURPOSE": "Manages the lifecycle of tasks, including their creation, execution, and state tracking. It uses a thread pool to run plugins asynchronously.", "LAYER": "Core", "RELATION": "Depends on PluginLoader to get plugin instances. It is used by the API layer to create and query tasks.", "INVARIANT": "Task IDs are unique.", "CONSTRAINT": "Must use belief_scope for logging." }, "relations": [], "children": [ { "name": "TaskManager", "type": "Class", "tier": "CRITICAL", "start_line": 23, "end_line": 592, "tags": { "SEMANTICS": "task, manager, lifecycle, execution, state", "PURPOSE": "Manages the lifecycle of tasks, including their creation, execution, and state tracking.", "TIER": "CRITICAL", "INVARIANT": "Log entries are never deleted after being added to a task." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 38, "end_line": 69, "tags": { "PURPOSE": "Initialize the TaskManager with dependencies.", "PRE": "plugin_loader is initialized.", "POST": "TaskManager is ready to accept tasks.", "PARAM": "plugin_loader - The plugin loader instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_flusher_loop", "type": "Function", "tier": "STANDARD", "start_line": 71, "end_line": 80, "tags": { "PURPOSE": "Background thread that periodically flushes log buffer to database.", "PRE": "TaskManager is initialized.", "POST": "Logs are batch-written to database every LOG_FLUSH_INTERVAL seconds." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 } ], "score": 0.7 } }, { "name": "_flush_logs", "type": "Function", "tier": "STANDARD", "start_line": 82, "end_line": 105, "tags": { "PURPOSE": "Flush all buffered logs to the database.", "PRE": "None.", "POST": "All buffered logs are written to task_logs table." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 82 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 82 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 82 } ], "score": 0.7 } }, { "name": "_flush_task_logs", "type": "Function", "tier": "STANDARD", "start_line": 107, "end_line": 122, "tags": { "PURPOSE": "Flush logs for a specific task immediately.", "PRE": "task_id exists.", "POST": "Task's buffered logs are written to database.", "PARAM": "task_id (str) - The task ID." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 107 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 107 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 107 } ], "score": 0.7 } }, { "name": "create_task", "type": "Function", "tier": "STANDARD", "start_line": 124, "end_line": 151, "tags": { "PURPOSE": "Creates and queues a new task for execution.", "PRE": "Plugin with plugin_id exists. Params are valid.", "POST": "Task is created, added to registry, and scheduled for execution.", "PARAM": "user_id (Optional[str]) - ID of the user requesting the task.", "RETURN": "Task - The created task instance.", "THROWS": "ValueError if plugin not found or params invalid." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_run_task", "type": "Function", "tier": "STANDARD", "start_line": 153, "end_line": 217, "tags": { "PURPOSE": "Internal method to execute a task with TaskContext support.", "PRE": "Task exists in registry.", "POST": "Task is executed, status updated to SUCCESS or FAILED.", "PARAM": "task_id (str) - The ID of the task to run." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "resolve_task", "type": "Function", "tier": "STANDARD", "start_line": 219, "end_line": 241, "tags": { "PURPOSE": "Resumes a task that is awaiting mapping.", "PRE": "Task exists and is in AWAITING_MAPPING state.", "POST": "Task status updated to RUNNING, params updated, execution resumed.", "PARAM": "resolution_params (Dict[str, Any]) - Params to resolve the wait.", "THROWS": "ValueError if task not found or not awaiting mapping." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "wait_for_resolution", "type": "Function", "tier": "STANDARD", "start_line": 243, "end_line": 263, "tags": { "PURPOSE": "Pauses execution and waits for a resolution signal.", "PRE": "Task exists.", "POST": "Execution pauses until future is set.", "PARAM": "task_id (str) - The ID of the task." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "wait_for_input", "type": "Function", "tier": "STANDARD", "start_line": 265, "end_line": 284, "tags": { "PURPOSE": "Pauses execution and waits for user input.", "PRE": "Task exists.", "POST": "Execution pauses until future is set via resume_task_with_password.", "PARAM": "task_id (str) - The ID of the task." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task", "type": "Function", "tier": "STANDARD", "start_line": 286, "end_line": 295, "tags": { "PURPOSE": "Retrieves a task by its ID.", "PRE": "task_id is a string.", "POST": "Returns Task object or None.", "PARAM": "task_id (str) - ID of the task.", "RETURN": "Optional[Task] - The task or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_all_tasks", "type": "Function", "tier": "STANDARD", "start_line": 297, "end_line": 305, "tags": { "PURPOSE": "Retrieves all registered tasks.", "PRE": "None.", "POST": "Returns list of all Task objects.", "RETURN": "List[Task] - All tasks." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_tasks", "type": "Function", "tier": "STANDARD", "start_line": 307, "end_line": 345, "tags": { "PURPOSE": "Retrieves tasks with pagination and optional status filter.", "PRE": "limit and offset are non-negative integers.", "POST": "Returns a list of tasks sorted by start_time descending.", "PARAM": "status (Optional[TaskStatus]) - Filter by task status.", "RETURN": "List[Task] - List of tasks matching criteria." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task_logs", "type": "Function", "tier": "STANDARD", "start_line": 347, "end_line": 377, "tags": { "PURPOSE": "Retrieves logs for a specific task (from memory for running, persistence for completed).", "PRE": "task_id is a string.", "POST": "Returns list of LogEntry or TaskLog objects.", "PARAM": "log_filter (Optional[LogFilter]) - Filter parameters.", "RETURN": "List[LogEntry] - List of log entries." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task_log_stats", "type": "Function", "tier": "STANDARD", "start_line": 379, "end_line": 388, "tags": { "PURPOSE": "Get statistics about logs for a task.", "PRE": "task_id is a valid task ID.", "POST": "Returns LogStats with counts by level and source.", "PARAM": "task_id (str) - The task ID.", "RETURN": "LogStats - Statistics about task logs." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task_log_sources", "type": "Function", "tier": "STANDARD", "start_line": 390, "end_line": 399, "tags": { "PURPOSE": "Get unique sources for a task's logs.", "PRE": "task_id is a valid task ID.", "POST": "Returns list of unique source strings.", "PARAM": "task_id (str) - The task ID.", "RETURN": "List[str] - Unique source names." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_add_log", "type": "Function", "tier": "STANDARD", "start_line": 401, "end_line": 451, "tags": { "PURPOSE": "Adds a log entry to a task buffer and notifies subscribers.", "PRE": "Task exists.", "POST": "Log added to buffer and pushed to queues (if level meets task_log_level filter).", "PARAM": "context (Optional[Dict]) - Legacy context (for backward compatibility)." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "subscribe_logs", "type": "Function", "tier": "STANDARD", "start_line": 453, "end_line": 466, "tags": { "PURPOSE": "Subscribes to real-time logs for a task.", "PRE": "task_id is a string.", "POST": "Returns an asyncio.Queue for log entries.", "PARAM": "task_id (str) - ID of the task.", "RETURN": "asyncio.Queue - Queue for log entries." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "unsubscribe_logs", "type": "Function", "tier": "STANDARD", "start_line": 468, "end_line": 481, "tags": { "PURPOSE": "Unsubscribes from real-time logs for a task.", "PRE": "task_id is a string, queue is asyncio.Queue.", "POST": "Queue removed from subscribers.", "PARAM": "queue (asyncio.Queue) - Queue to remove." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "load_persisted_tasks", "type": "Function", "tier": "STANDARD", "start_line": 483, "end_line": 493, "tags": { "PURPOSE": "Load persisted tasks using persistence service.", "PRE": "None.", "POST": "Persisted tasks loaded into self.tasks." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "await_input", "type": "Function", "tier": "STANDARD", "start_line": 495, "end_line": 515, "tags": { "PURPOSE": "Transition a task to AWAITING_INPUT state with input request.", "PRE": "Task exists and is in RUNNING state.", "POST": "Task status changed to AWAITING_INPUT, input_request set, persisted.", "PARAM": "input_request (Dict) - Details about required input.", "THROWS": "ValueError if task not found or not RUNNING." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "resume_task_with_password", "type": "Function", "tier": "STANDARD", "start_line": 517, "end_line": 544, "tags": { "PURPOSE": "Resume a task that is awaiting input with provided passwords.", "PRE": "Task exists and is in AWAITING_INPUT state.", "POST": "Task status changed to RUNNING, passwords injected, task resumed.", "PARAM": "passwords (Dict[str, str]) - Mapping of database name to password.", "THROWS": "ValueError if task not found, not awaiting input, or passwords invalid." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "clear_tasks", "type": "Function", "tier": "STANDARD", "start_line": 546, "end_line": 590, "tags": { "PURPOSE": "Clears tasks based on status filter (also deletes associated logs).", "PRE": "status is Optional[TaskStatus].", "POST": "Tasks matching filter (or all non-active) cleared from registry and database.", "PARAM": "status (Optional[TaskStatus]) - Filter by task status.", "RETURN": "int - Number of tasks cleared." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "sort_key", "type": "Function", "tier": "TRIVIAL", "start_line": 333, "end_line": 333, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "TaskManagerModels", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 127, "tags": { "TIER": "STANDARD", "SEMANTICS": "task, models, pydantic, enum, state", "PURPOSE": "Defines the data models and enumerations used by the Task Manager.", "LAYER": "Core", "RELATION": "Used by TaskManager and API routes.", "INVARIANT": "Task IDs are immutable once created.", "CONSTRAINT": "Must use Pydantic for data validation." }, "relations": [], "children": [ { "name": "TaskStatus", "type": "Enum", "tier": "TRIVIAL", "start_line": 19, "end_line": 30, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "task, status, state, enum", "PURPOSE": "Defines the possible states a task can be in during its lifecycle." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LogLevel", "type": "Enum", "tier": "STANDARD", "start_line": 32, "end_line": 41, "tags": { "SEMANTICS": "log, level, severity, enum", "PURPOSE": "Defines the possible log levels for task logging.", "TIER": "STANDARD" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LogEntry", "type": "Class", "tier": "CRITICAL", "start_line": 43, "end_line": 55, "tags": { "SEMANTICS": "log, entry, record, pydantic", "PURPOSE": "A Pydantic model representing a single, structured log entry associated with a task.", "TIER": "CRITICAL", "INVARIANT": "Each log entry has a unique timestamp and source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskLog", "type": "Class", "tier": "STANDARD", "start_line": 57, "end_line": 73, "tags": { "SEMANTICS": "task, log, persistent, pydantic", "PURPOSE": "A Pydantic model representing a persisted log entry from the database.", "TIER": "STANDARD" }, "relations": [ { "type": "MAPS_TO", "target": "TaskLogRecord" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LogFilter", "type": "Class", "tier": "STANDARD", "start_line": 75, "end_line": 85, "tags": { "SEMANTICS": "log, filter, query, pydantic", "PURPOSE": "Filter parameters for querying task logs.", "TIER": "STANDARD" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LogStats", "type": "Class", "tier": "STANDARD", "start_line": 87, "end_line": 95, "tags": { "SEMANTICS": "log, stats, aggregation, pydantic", "PURPOSE": "Statistics about log entries for a task.", "TIER": "STANDARD" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Task", "type": "Class", "tier": "STANDARD", "start_line": 97, "end_line": 125, "tags": { "TIER": "STANDARD", "SEMANTICS": "task, job, execution, state, pydantic", "PURPOSE": "A Pydantic model representing a single execution instance of a plugin, including its status, parameters, and logs." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 115, "end_line": 124, "tags": { "PURPOSE": "Initializes the Task model and validates input_request for AWAITING_INPUT status.", "PRE": "If status is AWAITING_INPUT, input_request must be provided.", "POST": "Task instance is created or ValueError is raised.", "PARAM": "**data - Keyword arguments for model initialization." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskCleanupModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 75, "tags": { "TIER": "STANDARD", "SEMANTICS": "task, cleanup, retention, logs", "PURPOSE": "Implements task cleanup and retention policies, including associated logs.", "LAYER": "Core", "RELATION": "Uses TaskPersistenceService and TaskLogPersistenceService to delete old tasks and logs." }, "relations": [], "children": [ { "name": "TaskCleanupService", "type": "Class", "tier": "STANDARD", "start_line": 13, "end_line": 74, "tags": { "PURPOSE": "Provides methods to clean up old task records and their associated logs.", "TIER": "STANDARD" }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 17, "end_line": 30, "tags": { "PURPOSE": "Initializes the cleanup service with dependencies.", "PRE": "persistence_service and config_manager are valid.", "POST": "Cleanup service is ready." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "run_cleanup", "type": "Function", "tier": "STANDARD", "start_line": 32, "end_line": 55, "tags": { "PURPOSE": "Deletes tasks older than the configured retention period and their logs.", "PRE": "Config manager has valid settings.", "POST": "Old tasks and their logs are deleted from persistence." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_task_with_logs", "type": "Function", "tier": "STANDARD", "start_line": 57, "end_line": 72, "tags": { "PURPOSE": "Delete a single task and all its associated logs.", "PRE": "task_id is a valid task ID.", "POST": "Task and all its logs are deleted.", "PARAM": "task_id (str) - The task ID to delete." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskManagerPackage", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 13, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "task, manager, package, exports", "PURPOSE": "Exports the public API of the task manager package.", "LAYER": "Core", "RELATION": "Aggregates models and manager." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskContextModule", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 115, "tags": { "SEMANTICS": "task, context, plugin, execution, logger", "PURPOSE": "Provides execution context passed to plugins during task execution.", "LAYER": "Core", "TIER": "CRITICAL", "INVARIANT": "Each TaskContext is bound to a single task execution." }, "relations": [ { "type": "DEPENDS_ON", "target": "TaskLogger, USED_BY -> plugins" } ], "children": [ { "name": "TaskContext", "type": "Class", "tier": "CRITICAL", "start_line": 14, "end_line": 113, "tags": { "SEMANTICS": "context, task, execution, plugin", "PURPOSE": "A container passed to plugin.execute() providing the logger and other task-specific utilities.", "TIER": "CRITICAL", "INVARIANT": "logger is always a valid TaskLogger instance.", "UX_STATE": "Idle -> Active -> Complete" }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 32, "end_line": 54, "tags": { "PURPOSE": "Initialize the TaskContext with task-specific resources.", "PRE": "task_id is a valid task identifier, add_log_fn is callable.", "POST": "TaskContext is ready to be passed to plugin.execute().", "PARAM": "default_source (str) - Default source for logs (default: \"plugin\")." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "task_id", "type": "Function", "tier": "STANDARD", "start_line": 56, "end_line": 64, "tags": { "PURPOSE": "Get the task ID.", "PRE": "TaskContext must be initialized.", "POST": "Returns the task ID string.", "RETURN": "str - The task ID." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 56 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 56 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 56 } ], "score": 0.7 } }, { "name": "logger", "type": "Function", "tier": "STANDARD", "start_line": 66, "end_line": 74, "tags": { "PURPOSE": "Get the TaskLogger instance for this context.", "PRE": "TaskContext must be initialized.", "POST": "Returns the TaskLogger instance.", "RETURN": "TaskLogger - The logger instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 } ], "score": 0.7 } }, { "name": "params", "type": "Function", "tier": "STANDARD", "start_line": 76, "end_line": 84, "tags": { "PURPOSE": "Get the task parameters.", "PRE": "TaskContext must be initialized.", "POST": "Returns the parameters dictionary.", "RETURN": "Dict[str, Any] - The task parameters." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 76 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 76 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 76 } ], "score": 0.7 } }, { "name": "get_param", "type": "Function", "tier": "STANDARD", "start_line": 86, "end_line": 95, "tags": { "PURPOSE": "Get a specific parameter value with optional default.", "PRE": "TaskContext must be initialized.", "POST": "Returns parameter value or default.", "PARAM": "default (Any) - Default value if key not found.", "RETURN": "Any - Parameter value or default." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 } ], "score": 0.7 } }, { "name": "create_sub_context", "type": "Function", "tier": "STANDARD", "start_line": 97, "end_line": 111, "tags": { "PURPOSE": "Create a sub-context with a different default source.", "PRE": "source is a non-empty string.", "POST": "Returns new TaskContext with different logger source.", "PARAM": "source (str) - New default source for logging.", "RETURN": "TaskContext - New context with different source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "TRIVIAL", "start_line": 25, "end_line": 25, "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.src.api.auth", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 118, "tags": { "SEMANTICS": "api, auth, routes, login, logout", "PURPOSE": "Authentication API endpoints.", "LAYER": "API", "INVARIANT": "All auth endpoints must return consistent error codes." }, "relations": [ { "type": "USES", "target": "backend.src.services.auth_service.AuthService" }, { "type": "USES", "target": "backend.src.core.database.get_auth_db" } ], "children": [ { "name": "router", "type": "Variable", "tier": "STANDARD", "start_line": 25, "end_line": 28, "tags": { "PURPOSE": "APIRouter instance for authentication routes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "login_for_access_token", "type": "Function", "tier": "STANDARD", "start_line": 30, "end_line": 55, "tags": { "PURPOSE": "Authenticates a user and returns a JWT access token.", "PRE": "form_data contains username and password.", "POST": "Returns a Token object on success.", "THROW": "HTTPException 401 if authentication fails.", "PARAM": "db (Session) - Auth database session.", "RETURN": "Token - The generated JWT token." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "read_users_me", "type": "Function", "tier": "STANDARD", "start_line": 57, "end_line": 67, "tags": { "PURPOSE": "Retrieves the profile of the currently authenticated user.", "PRE": "Valid JWT token provided.", "POST": "Returns the current user's data.", "PARAM": "current_user (UserSchema) - The user extracted from the token.", "RETURN": "UserSchema - The current user profile." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "logout", "type": "Function", "tier": "STANDARD", "start_line": 69, "end_line": 80, "tags": { "PURPOSE": "Logs out the current user (placeholder for session revocation).", "PRE": "Valid JWT token provided.", "POST": "Returns success message." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "login_adfs", "type": "Function", "tier": "STANDARD", "start_line": 82, "end_line": 95, "tags": { "PURPOSE": "Initiates the ADFS OIDC login flow.", "POST": "Redirects the user to ADFS." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 82 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 82 } ], "score": 0.7333333333333334 } }, { "name": "auth_callback_adfs", "type": "Function", "tier": "STANDARD", "start_line": 97, "end_line": 116, "tags": { "PURPOSE": "Handles the callback from ADFS after successful authentication.", "POST": "Provisions user JIT and returns session token." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 } ], "score": 0.7333333333333334 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "router", "type": "Global", "tier": "STANDARD", "start_line": 17, "end_line": 20, "tags": { "PURPOSE": "APIRouter instance for LLM routes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_providers", "type": "Function", "tier": "STANDARD", "start_line": 22, "end_line": 48, "tags": { "PURPOSE": "Retrieve all LLM provider configurations.", "PRE": "User is authenticated.", "POST": "Returns list of LLMProviderConfig." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 } ], "score": 0.9 } }, { "name": "create_provider", "type": "Function", "tier": "STANDARD", "start_line": 50, "end_line": 74, "tags": { "PURPOSE": "Create a new LLM provider configuration.", "PRE": "User is authenticated and has admin permissions.", "POST": "Returns the created LLMProviderConfig." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 50 } ], "score": 0.9 } }, { "name": "update_provider", "type": "Function", "tier": "STANDARD", "start_line": 76, "end_line": 104, "tags": { "PURPOSE": "Update an existing LLM provider configuration.", "PRE": "User is authenticated and has admin permissions.", "POST": "Returns the updated LLMProviderConfig." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 76 } ], "score": 0.9 } }, { "name": "delete_provider", "type": "Function", "tier": "STANDARD", "start_line": 106, "end_line": 123, "tags": { "PURPOSE": "Delete an LLM provider configuration.", "PRE": "User is authenticated and has admin permissions.", "POST": "Returns success status." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 106 } ], "score": 0.9 } }, { "name": "test_connection", "type": "Function", "tier": "STANDARD", "start_line": 125, "end_line": 168, "tags": { "PURPOSE": "Test connection to an LLM provider.", "PRE": "User is authenticated.", "POST": "Returns success status and message." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 125 } ], "score": 0.9 } }, { "name": "test_provider_config", "type": "Function", "tier": "STANDARD", "start_line": 170, "end_line": 205, "tags": { "PURPOSE": "Test connection with a provided configuration (not yet saved).", "PRE": "User is authenticated.", "POST": "Returns success status and message." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 170 } ], "score": 0.9 } }, { "name": "backend.src.api.routes.datasets", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 395, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, datasets, resources, hub", "PURPOSE": "API endpoints for the Dataset Hub - listing datasets with mapping progress", "LAYER": "API", "INVARIANT": "All dataset responses include last_task metadata" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.dependencies" }, { "type": "DEPENDS_ON", "target": "backend.src.services.resource_service" }, { "type": "DEPENDS_ON", "target": "backend.src.core.superset_client" } ], "children": [ { "name": "MappedFields", "type": "DataClass", "tier": "STANDARD", "start_line": 24, "end_line": 28, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LastTask", "type": "DataClass", "tier": "STANDARD", "start_line": 30, "end_line": 34, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatasetItem", "type": "DataClass", "tier": "STANDARD", "start_line": 36, "end_line": 44, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LinkedDashboard", "type": "DataClass", "tier": "STANDARD", "start_line": 46, "end_line": 51, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatasetColumn", "type": "DataClass", "tier": "STANDARD", "start_line": 53, "end_line": 61, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatasetDetailResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 63, "end_line": 78, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatasetsResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 80, "end_line": 87, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 89, "end_line": 92, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dataset_ids", "type": "Function", "tier": "STANDARD", "start_line": 94, "end_line": 143, "tags": { "PURPOSE": "Fetch list of all dataset IDs from a specific environment (without pagination)", "PRE": "env_id must be a valid environment ID", "POST": "Returns a list of all dataset IDs", "PARAM": "search (Optional[str]) - Filter by table name", "RETURN": "List[int] - List of dataset IDs" }, "relations": [ { "type": "CALLS", "target": "ResourceService.get_datasets_with_status" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_datasets", "type": "Function", "tier": "STANDARD", "start_line": 145, "end_line": 222, "tags": { "PURPOSE": "Fetch list of datasets from a specific environment with mapping progress", "PRE": "page_size must be between 1 and 100 if provided", "POST": "Response includes pagination metadata (page, page_size, total, total_pages)", "PARAM": "page_size (Optional[int]) - Items per page (default: 10, max: 100)", "RETURN": "DatasetsResponse - List of datasets with status metadata" }, "relations": [ { "type": "CALLS", "target": "ResourceService.get_datasets_with_status" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "MapColumnsRequest", "type": "DataClass", "tier": "STANDARD", "start_line": 224, "end_line": 231, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "map_columns", "type": "Function", "tier": "STANDARD", "start_line": 233, "end_line": 292, "tags": { "PURPOSE": "Trigger bulk column mapping for datasets", "PRE": "dataset_ids is a non-empty list", "POST": "Task is created and queued for execution", "PARAM": "request (MapColumnsRequest) - Mapping request with environment and dataset IDs", "RETURN": "TaskResponse - Task ID for tracking" }, "relations": [ { "type": "DISPATCHES", "target": "MapperPlugin" }, { "type": "CALLS", "target": "task_manager.create_task" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "GenerateDocsRequest", "type": "DataClass", "tier": "STANDARD", "start_line": 294, "end_line": 300, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "generate_docs", "type": "Function", "tier": "STANDARD", "start_line": 302, "end_line": 355, "tags": { "PURPOSE": "Trigger bulk documentation generation for datasets", "PRE": "dataset_ids is a non-empty list", "POST": "Task is created and queued for execution", "PARAM": "request (GenerateDocsRequest) - Documentation generation request", "RETURN": "TaskResponse - Task ID for tracking" }, "relations": [ { "type": "DISPATCHES", "target": "LLMAnalysisPlugin" }, { "type": "CALLS", "target": "task_manager.create_task" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dataset_detail", "type": "Function", "tier": "STANDARD", "start_line": 357, "end_line": 393, "tags": { "PURPOSE": "Get detailed dataset information including columns and linked dashboards", "PRE": "dataset_id is a valid dataset ID", "POST": "Returns detailed dataset info with columns and linked dashboards", "PARAM": "dataset_id (int) - The dataset ID", "RETURN": "DatasetDetailResponse - Detailed dataset information" }, "relations": [ { "type": "CALLS", "target": "SupersetClient.get_dataset_detail" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.api.routes.git", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 456, "tags": { "TIER": "STANDARD", "SEMANTICS": "git, routes, api, fastapi, repository, deployment", "PURPOSE": "Provides FastAPI endpoints for Git integration operations.", "LAYER": "API", "INVARIANT": "All Git operations must be routed through GitService." }, "relations": [ { "type": "USES", "target": "src.services.git_service.GitService" }, { "type": "USES", "target": "src.api.routes.git_schemas" }, { "type": "USES", "target": "src.models.git" } ], "children": [ { "name": "get_git_configs", "type": "Function", "tier": "STANDARD", "start_line": 32, "end_line": 44, "tags": { "PURPOSE": "List all configured Git servers.", "PRE": "Database session `db` is available.", "POST": "Returns a list of all GitServerConfig objects from the database.", "RETURN": "List[GitServerConfigSchema]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_git_config", "type": "Function", "tier": "STANDARD", "start_line": 46, "end_line": 64, "tags": { "PURPOSE": "Register a new Git server configuration.", "PRE": "`config` contains valid GitServerConfigCreate data.", "POST": "A new GitServerConfig record is created in the database.", "PARAM": "config (GitServerConfigCreate)", "RETURN": "GitServerConfigSchema" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_git_config", "type": "Function", "tier": "STANDARD", "start_line": 66, "end_line": 85, "tags": { "PURPOSE": "Remove a Git server configuration.", "PRE": "`config_id` corresponds to an existing configuration.", "POST": "The configuration record is removed from the database.", "PARAM": "config_id (str)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_git_config", "type": "Function", "tier": "STANDARD", "start_line": 87, "end_line": 103, "tags": { "PURPOSE": "Validate connection to a Git server using provided credentials.", "PRE": "`config` contains provider, url, and pat.", "POST": "Returns success if the connection is validated via GitService.", "PARAM": "config (GitServerConfigCreate)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "init_repository", "type": "Function", "tier": "STANDARD", "start_line": 105, "end_line": 152, "tags": { "PURPOSE": "Link a dashboard to a Git repository and perform initial clone/init.", "PRE": "`dashboard_id` exists and `init_data` contains valid config_id and remote_url.", "POST": "Repository is initialized on disk and a GitRepository record is saved in DB.", "PARAM": "init_data (RepoInitRequest)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_branches", "type": "Function", "tier": "STANDARD", "start_line": 154, "end_line": 170, "tags": { "PURPOSE": "List all branches for a dashboard's repository.", "PRE": "Repository for `dashboard_id` is initialized.", "POST": "Returns a list of branches from the local repository.", "PARAM": "dashboard_id (int)", "RETURN": "List[BranchSchema]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_branch", "type": "Function", "tier": "STANDARD", "start_line": 172, "end_line": 190, "tags": { "PURPOSE": "Create a new branch in the dashboard's repository.", "PRE": "`dashboard_id` repository exists and `branch_data` has name and from_branch.", "POST": "A new branch is created in the local repository.", "PARAM": "branch_data (BranchCreate)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "checkout_branch", "type": "Function", "tier": "STANDARD", "start_line": 192, "end_line": 210, "tags": { "PURPOSE": "Switch the dashboard's repository to a specific branch.", "PRE": "`dashboard_id` repository exists and branch `checkout_data.name` exists.", "POST": "The local repository HEAD is moved to the specified branch.", "PARAM": "checkout_data (BranchCheckout)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "commit_changes", "type": "Function", "tier": "STANDARD", "start_line": 212, "end_line": 230, "tags": { "PURPOSE": "Stage and commit changes in the dashboard's repository.", "PRE": "`dashboard_id` repository exists and `commit_data` has message and files.", "POST": "Specified files are staged and a new commit is created.", "PARAM": "commit_data (CommitCreate)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "push_changes", "type": "Function", "tier": "STANDARD", "start_line": 232, "end_line": 248, "tags": { "PURPOSE": "Push local commits to the remote repository.", "PRE": "`dashboard_id` repository exists and has a remote configured.", "POST": "Local commits are pushed to the remote repository.", "PARAM": "dashboard_id (int)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "pull_changes", "type": "Function", "tier": "STANDARD", "start_line": 250, "end_line": 266, "tags": { "PURPOSE": "Pull changes from the remote repository.", "PRE": "`dashboard_id` repository exists and has a remote configured.", "POST": "Remote changes are fetched and merged into the local branch.", "PARAM": "dashboard_id (int)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "sync_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 268, "end_line": 291, "tags": { "PURPOSE": "Sync dashboard state from Superset to Git using the GitPlugin.", "PRE": "`dashboard_id` is valid; GitPlugin is available.", "POST": "Dashboard YAMLs are exported from Superset and committed to Git.", "PARAM": "source_env_id (Optional[str])" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_environments", "type": "Function", "tier": "STANDARD", "start_line": 293, "end_line": 313, "tags": { "PURPOSE": "List all deployment environments.", "PRE": "Config manager is accessible.", "POST": "Returns a list of DeploymentEnvironmentSchema objects.", "RETURN": "List[DeploymentEnvironmentSchema]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "deploy_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 315, "end_line": 338, "tags": { "PURPOSE": "Deploy dashboard from Git to a target environment.", "PRE": "`dashboard_id` and `deploy_data.environment_id` are valid.", "POST": "Dashboard YAMLs are read from Git and imported into the target Superset.", "PARAM": "deploy_data (DeployRequest)" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_history", "type": "Function", "tier": "STANDARD", "start_line": 340, "end_line": 358, "tags": { "PURPOSE": "View commit history for a dashboard's repository.", "PRE": "`dashboard_id` repository exists.", "POST": "Returns a list of recent commits from the repository.", "PARAM": "limit (int)", "RETURN": "List[CommitSchema]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_repository_status", "type": "Function", "tier": "STANDARD", "start_line": 360, "end_line": 376, "tags": { "PURPOSE": "Get current Git status for a dashboard repository.", "PRE": "`dashboard_id` repository exists.", "POST": "Returns the status of the working directory (staged, unstaged, untracked).", "PARAM": "dashboard_id (int)", "RETURN": "dict" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_repository_diff", "type": "Function", "tier": "STANDARD", "start_line": 378, "end_line": 399, "tags": { "PURPOSE": "Get Git diff for a dashboard repository.", "PRE": "`dashboard_id` repository exists.", "POST": "Returns the diff text for the specified file or all changes.", "PARAM": "staged (bool)", "RETURN": "str" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "generate_commit_message", "type": "Function", "tier": "STANDARD", "start_line": 401, "end_line": 454, "tags": { "PURPOSE": "Generate a suggested commit message using LLM.", "PRE": "Repository for `dashboard_id` is initialized.", "POST": "Returns a suggested commit message string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ConnectionsRouter", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 100, "tags": { "SEMANTICS": "api, router, connections, database", "PURPOSE": "Defines the FastAPI router for managing external database connections.", "LAYER": "UI (API)", "RELATION": "Depends on SQLAlchemy session.", "CONSTRAINT": "Must use belief_scope for logging." }, "relations": [], "children": [ { "name": "ConnectionSchema", "type": "Class", "tier": "STANDARD", "start_line": 21, "end_line": 35, "tags": { "PURPOSE": "Pydantic model for connection response." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.7000000000000001 } }, { "name": "ConnectionCreate", "type": "Class", "tier": "STANDARD", "start_line": 37, "end_line": 47, "tags": { "PURPOSE": "Pydantic model for creating a connection." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 37 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 37 } ], "score": 0.7000000000000001 } }, { "name": "list_connections", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 60, "tags": { "PURPOSE": "Lists all saved connections.", "PRE": "Database session is active.", "POST": "Returns list of connection configs.", "PARAM": "db (Session) - Database session.", "RETURN": "List[ConnectionSchema] - List of connections." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_connection", "type": "Function", "tier": "STANDARD", "start_line": 62, "end_line": 78, "tags": { "PURPOSE": "Creates a new connection configuration.", "PRE": "Connection name is unique.", "POST": "Connection is saved to DB.", "PARAM": "db (Session) - Database session.", "RETURN": "ConnectionSchema - Created connection." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_connection", "type": "Function", "tier": "STANDARD", "start_line": 80, "end_line": 98, "tags": { "PURPOSE": "Deletes a connection configuration.", "PRE": "Connection ID exists.", "POST": "Connection is removed from DB.", "PARAM": "db (Session) - Database session.", "RETURN": "None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.api.routes.environments", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 136, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, environments, superset, databases", "PURPOSE": "API endpoints for listing environments and their databases.", "LAYER": "API", "INVARIANT": "Environment IDs must exist in the configuration." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.dependencies" }, { "type": "DEPENDS_ON", "target": "backend.src.core.superset_client" } ], "children": [ { "name": "ScheduleSchema", "type": "DataClass", "tier": "STANDARD", "start_line": 23, "end_line": 27, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "EnvironmentResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 29, "end_line": 35, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatabaseResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 37, "end_line": 42, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_environments", "type": "Function", "tier": "STANDARD", "start_line": 44, "end_line": 72, "tags": { "PURPOSE": "List all configured environments.", "LAYER": "API", "SEMANTICS": "list, environments, config", "PRE": "config_manager is injected via Depends.", "POST": "Returns a list of EnvironmentResponse objects.", "RETURN": "List[EnvironmentResponse]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_environment_schedule", "type": "Function", "tier": "STANDARD", "start_line": 74, "end_line": 106, "tags": { "PURPOSE": "Update backup schedule for an environment.", "LAYER": "API", "SEMANTICS": "update, schedule, backup, environment", "PRE": "Environment id exists, schedule is valid ScheduleSchema.", "POST": "Backup schedule updated and scheduler reloaded.", "PARAM": "schedule (ScheduleSchema) - The new schedule." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_environment_databases", "type": "Function", "tier": "STANDARD", "start_line": 108, "end_line": 134, "tags": { "PURPOSE": "Fetch the list of databases from a specific environment.", "LAYER": "API", "SEMANTICS": "fetch, databases, superset, environment", "PRE": "Environment id exists.", "POST": "Returns a list of database summaries from the environment.", "PARAM": "id (str) - The environment ID.", "RETURN": "List[Dict] - List of databases." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.api.routes.migration", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 81, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, migration, dashboards", "PURPOSE": "API endpoints for migration operations.", "LAYER": "API" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.dependencies" }, { "type": "DEPENDS_ON", "target": "backend.src.models.dashboard" } ], "children": [ { "name": "get_dashboards", "type": "Function", "tier": "STANDARD", "start_line": 18, "end_line": 39, "tags": { "PURPOSE": "Fetch all dashboards from the specified environment for the grid.", "PRE": "Environment ID must be valid.", "POST": "Returns a list of dashboard metadata.", "PARAM": "env_id (str) - The ID of the environment to fetch from.", "RETURN": "List[DashboardMetadata]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute_migration", "type": "Function", "tier": "STANDARD", "start_line": 41, "end_line": 79, "tags": { "PURPOSE": "Execute the migration of selected dashboards.", "PRE": "Selection must be valid and environments must exist.", "POST": "Starts the migration task and returns the task ID.", "PARAM": "selection (DashboardSelection) - The dashboards to migrate.", "RETURN": "Dict - {\"task_id\": str, \"message\": str}" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "PluginsRouter", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 32, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, router, plugins, list", "PURPOSE": "Defines the FastAPI router for plugin-related endpoints, allowing clients to list available plugins.", "LAYER": "UI (API)", "RELATION": "Depends on the PluginLoader and PluginConfig. It is included by the main app." }, "relations": [], "children": [ { "name": "list_plugins", "type": "Function", "tier": "STANDARD", "start_line": 16, "end_line": 31, "tags": { "PURPOSE": "Retrieve a list of all available plugins.", "PRE": "plugin_loader is injected via Depends.", "POST": "Returns a list of PluginConfig objects.", "RETURN": "List[PluginConfig] - List of registered plugins." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.api.routes.mappings", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 130, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, mappings, database, fuzzy-matching", "PURPOSE": "API endpoints for managing database mappings and getting suggestions.", "LAYER": "API", "INVARIANT": "Mappings are persisted in the SQLite database." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.dependencies" }, { "type": "DEPENDS_ON", "target": "backend.src.core.database" }, { "type": "DEPENDS_ON", "target": "backend.src.services.mapping_service" } ], "children": [ { "name": "MappingCreate", "type": "DataClass", "tier": "STANDARD", "start_line": 26, "end_line": 35, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "MappingResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 37, "end_line": 50, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "SuggestRequest", "type": "DataClass", "tier": "STANDARD", "start_line": 52, "end_line": 56, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_mappings", "type": "Function", "tier": "STANDARD", "start_line": 58, "end_line": 76, "tags": { "PURPOSE": "List all saved database mappings.", "PRE": "db session is injected.", "POST": "Returns filtered list of DatabaseMapping records." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_mapping", "type": "Function", "tier": "STANDARD", "start_line": 78, "end_line": 109, "tags": { "PURPOSE": "Create or update a database mapping.", "PRE": "mapping is valid MappingCreate, db session is injected.", "POST": "DatabaseMapping created or updated in database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "suggest_mappings_api", "type": "Function", "tier": "STANDARD", "start_line": 111, "end_line": 128, "tags": { "PURPOSE": "Get suggested mappings based on fuzzy matching.", "PRE": "request is valid SuggestRequest, config_manager is injected.", "POST": "Returns mapping suggestions." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "SettingsRouter", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 376, "tags": { "SEMANTICS": "settings, api, router, fastapi", "PURPOSE": "Provides API endpoints for managing application settings and Superset environments.", "LAYER": "UI (API)", "INVARIANT": "All settings changes must be persisted via ConfigManager.", "PUBLIC_API": "router" }, "relations": [ { "type": "DEPENDS_ON", "target": "ConfigManager" }, { "type": "DEPENDS_ON", "target": "ConfigModels" } ], "children": [ { "name": "LoggingConfigResponse", "type": "Class", "tier": "STANDARD", "start_line": 24, "end_line": 31, "tags": { "PURPOSE": "Response model for logging configuration with current task log level.", "SEMANTICS": "logging, config, response" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 24 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 24 } ], "score": 0.7000000000000001 } }, { "name": "get_settings", "type": "Function", "tier": "STANDARD", "start_line": 35, "end_line": 53, "tags": { "PURPOSE": "Retrieves all application settings.", "PRE": "Config manager is available.", "POST": "Returns masked AppConfig.", "RETURN": "AppConfig - The current configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_global_settings", "type": "Function", "tier": "STANDARD", "start_line": 55, "end_line": 72, "tags": { "PURPOSE": "Updates global application settings.", "PRE": "New settings are provided.", "POST": "Global settings are updated.", "PARAM": "settings (GlobalSettings) - The new global settings.", "RETURN": "GlobalSettings - The updated settings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_storage_settings", "type": "Function", "tier": "STANDARD", "start_line": 74, "end_line": 84, "tags": { "PURPOSE": "Retrieves storage-specific settings.", "RETURN": "StorageConfig - The storage configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 74 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 74 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 74 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 74 } ], "score": 0.4666666666666666 } }, { "name": "update_storage_settings", "type": "Function", "tier": "STANDARD", "start_line": 86, "end_line": 106, "tags": { "PURPOSE": "Updates storage-specific settings.", "PARAM": "storage (StorageConfig) - The new storage settings.", "POST": "Storage settings are updated and saved.", "RETURN": "StorageConfig - The updated storage settings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 86 } ], "score": 0.7333333333333334 } }, { "name": "get_environments", "type": "Function", "tier": "STANDARD", "start_line": 108, "end_line": 121, "tags": { "PURPOSE": "Lists all configured Superset environments.", "PRE": "Config manager is available.", "POST": "Returns list of environments.", "RETURN": "List[Environment] - List of environments." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "add_environment", "type": "Function", "tier": "STANDARD", "start_line": 123, "end_line": 148, "tags": { "PURPOSE": "Adds a new Superset environment.", "PRE": "Environment data is valid and reachable.", "POST": "Environment is added to config.", "PARAM": "env (Environment) - The environment to add.", "RETURN": "Environment - The added environment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_environment", "type": "Function", "tier": "STANDARD", "start_line": 150, "end_line": 184, "tags": { "PURPOSE": "Updates an existing Superset environment.", "PRE": "ID and valid environment data are provided.", "POST": "Environment is updated in config.", "PARAM": "env (Environment) - The updated environment data.", "RETURN": "Environment - The updated environment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_environment", "type": "Function", "tier": "STANDARD", "start_line": 186, "end_line": 200, "tags": { "PURPOSE": "Deletes a Superset environment.", "PRE": "ID is provided.", "POST": "Environment is removed from config.", "PARAM": "id (str) - The ID of the environment to delete." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_environment_connection", "type": "Function", "tier": "STANDARD", "start_line": 202, "end_line": 233, "tags": { "PURPOSE": "Tests the connection to a Superset environment.", "PRE": "ID is provided.", "POST": "Returns success or error status.", "PARAM": "id (str) - The ID of the environment to test.", "RETURN": "dict - Success message or error." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_logging_config", "type": "Function", "tier": "STANDARD", "start_line": 235, "end_line": 252, "tags": { "PURPOSE": "Retrieves current logging configuration.", "PRE": "Config manager is available.", "POST": "Returns logging configuration.", "RETURN": "LoggingConfigResponse - The current logging config." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_logging_config", "type": "Function", "tier": "STANDARD", "start_line": 254, "end_line": 279, "tags": { "PURPOSE": "Updates logging configuration.", "PRE": "New logging config is provided.", "POST": "Logging configuration is updated and saved.", "PARAM": "config (LoggingConfig) - The new logging configuration.", "RETURN": "LoggingConfigResponse - The updated logging config." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ConsolidatedSettingsResponse", "type": "Class", "tier": "STANDARD", "start_line": 281, "end_line": 289, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 281 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 281 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 281 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 281 } ], "score": 0.39999999999999997 } }, { "name": "get_consolidated_settings", "type": "Function", "tier": "STANDARD", "start_line": 291, "end_line": 334, "tags": { "PURPOSE": "Retrieves all settings categories in a single call", "PRE": "Config manager is available.", "POST": "Returns all consolidated settings.", "RETURN": "ConsolidatedSettingsResponse - All settings categories." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_consolidated_settings", "type": "Function", "tier": "STANDARD", "start_line": 336, "end_line": 374, "tags": { "PURPOSE": "Bulk update application settings from the consolidated view.", "PRE": "User has admin permissions, config is valid.", "POST": "Settings are updated and saved via ConfigManager." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.api.routes.admin", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 310, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, admin, users, roles, permissions", "PURPOSE": "Admin API endpoints for user and role management.", "LAYER": "API", "INVARIANT": "All endpoints in this module require 'Admin' role or 'admin' scope." }, "relations": [ { "type": "USES", "target": "backend.src.core.auth.repository.AuthRepository" }, { "type": "USES", "target": "backend.src.dependencies.has_permission" } ], "children": [ { "name": "router", "type": "Variable", "tier": "STANDARD", "start_line": 29, "end_line": 32, "tags": { "PURPOSE": "APIRouter instance for admin routes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "list_users", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 48, "tags": { "PURPOSE": "Lists all registered users.", "PRE": "Current user has 'Admin' role.", "POST": "Returns a list of UserSchema objects.", "PARAM": "db (Session) - Auth database session.", "RETURN": "List[UserSchema] - List of users." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_user", "type": "Function", "tier": "STANDARD", "start_line": 50, "end_line": 85, "tags": { "PURPOSE": "Creates a new local user.", "PRE": "Current user has 'Admin' role.", "POST": "New user is created in the database.", "PARAM": "db (Session) - Auth database session.", "RETURN": "UserSchema - The created user." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_user", "type": "Function", "tier": "STANDARD", "start_line": 87, "end_line": 119, "tags": { "PURPOSE": "Updates an existing user." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 } ], "score": 0.4666666666666666 } }, { "name": "delete_user", "type": "Function", "tier": "STANDARD", "start_line": 121, "end_line": 142, "tags": { "PURPOSE": "Deletes a user." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 121 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 121 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 121 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 121 } ], "score": 0.4666666666666666 } }, { "name": "list_roles", "type": "Function", "tier": "STANDARD", "start_line": 144, "end_line": 155, "tags": { "PURPOSE": "Lists all available roles.", "RETURN": "List[RoleSchema] - List of roles." }, "relations": [ { "type": "CALLS", "target": "backend.src.models.auth.Role" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 144 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 144 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 144 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 144 } ], "score": 0.4666666666666666 } }, { "name": "create_role", "type": "Function", "tier": "STANDARD", "start_line": 157, "end_line": 192, "tags": { "PURPOSE": "Creates a new system role with associated permissions.", "PRE": "Role name must be unique.", "POST": "New Role record is created in auth.db.", "PARAM": "db (Session) - Auth database session.", "RETURN": "RoleSchema - The created role.", "SIDE_EFFECT": "Commits new role and associations to auth.db." }, "relations": [ { "type": "CALLS", "target": "backend.src.core.auth.repository.AuthRepository.get_permission_by_id" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_role", "type": "Function", "tier": "STANDARD", "start_line": 194, "end_line": 236, "tags": { "PURPOSE": "Updates an existing role's metadata and permissions.", "PRE": "role_id must be a valid existing role UUID.", "POST": "Role record is updated in auth.db.", "PARAM": "db (Session) - Auth database session.", "RETURN": "RoleSchema - The updated role.", "SIDE_EFFECT": "Commits updates to auth.db." }, "relations": [ { "type": "CALLS", "target": "backend.src.core.auth.repository.AuthRepository.get_role_by_id" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_role", "type": "Function", "tier": "STANDARD", "start_line": 238, "end_line": 262, "tags": { "PURPOSE": "Removes a role from the system.", "PRE": "role_id must be a valid existing role UUID.", "POST": "Role record is removed from auth.db.", "PARAM": "db (Session) - Auth database session.", "RETURN": "None", "SIDE_EFFECT": "Deletes record from auth.db and commits." }, "relations": [ { "type": "CALLS", "target": "backend.src.core.auth.repository.AuthRepository.get_role_by_id" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "list_permissions", "type": "Function", "tier": "STANDARD", "start_line": 264, "end_line": 278, "tags": { "PURPOSE": "Lists all available system permissions for assignment.", "POST": "Returns a list of all PermissionSchema objects.", "PARAM": "db (Session) - Auth database session.", "RETURN": "List[PermissionSchema] - List of permissions." }, "relations": [ { "type": "CALLS", "target": "backend.src.core.auth.repository.AuthRepository.list_permissions" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 264 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 264 } ], "score": 0.7333333333333334 } }, { "name": "list_ad_mappings", "type": "Function", "tier": "STANDARD", "start_line": 280, "end_line": 289, "tags": { "PURPOSE": "Lists all AD Group to Role mappings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 280 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 280 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 280 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 280 } ], "score": 0.4666666666666666 } }, { "name": "create_ad_mapping", "type": "Function", "tier": "STANDARD", "start_line": 291, "end_line": 308, "tags": { "PURPOSE": "Creates a new AD Group mapping." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 291 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 291 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 291 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 291 } ], "score": 0.4666666666666666 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.api.routes.git_schemas", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 144, "tags": { "TIER": "STANDARD", "SEMANTICS": "git, schemas, pydantic, api, contracts", "PURPOSE": "Defines Pydantic models for the Git integration API layer.", "LAYER": "API", "INVARIANT": "All schemas must be compatible with the FastAPI router." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.models.git" } ], "children": [ { "name": "GitServerConfigBase", "type": "Class", "tier": "TRIVIAL", "start_line": 16, "end_line": 25, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Base schema for Git server configuration attributes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "GitServerConfigCreate", "type": "Class", "tier": "STANDARD", "start_line": 27, "end_line": 32, "tags": { "PURPOSE": "Schema for creating a new Git server configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 } ], "score": 0.7000000000000001 } }, { "name": "GitServerConfigSchema", "type": "Class", "tier": "STANDARD", "start_line": 34, "end_line": 44, "tags": { "PURPOSE": "Schema for representing a Git server configuration with metadata." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 } ], "score": 0.7000000000000001 } }, { "name": "GitRepositorySchema", "type": "Class", "tier": "STANDARD", "start_line": 46, "end_line": 60, "tags": { "PURPOSE": "Schema for tracking a local Git repository linked to a dashboard." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 46 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 46 } ], "score": 0.7000000000000001 } }, { "name": "BranchSchema", "type": "Class", "tier": "STANDARD", "start_line": 62, "end_line": 70, "tags": { "PURPOSE": "Schema for representing a Git branch metadata." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 } ], "score": 0.7000000000000001 } }, { "name": "CommitSchema", "type": "Class", "tier": "STANDARD", "start_line": 72, "end_line": 82, "tags": { "PURPOSE": "Schema for representing Git commit details." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 } ], "score": 0.7000000000000001 } }, { "name": "BranchCreate", "type": "Class", "tier": "STANDARD", "start_line": 84, "end_line": 90, "tags": { "PURPOSE": "Schema for branch creation requests." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 84 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 84 } ], "score": 0.7000000000000001 } }, { "name": "BranchCheckout", "type": "Class", "tier": "STANDARD", "start_line": 92, "end_line": 97, "tags": { "PURPOSE": "Schema for branch checkout requests." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 92 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 92 } ], "score": 0.7000000000000001 } }, { "name": "CommitCreate", "type": "Class", "tier": "STANDARD", "start_line": 99, "end_line": 105, "tags": { "PURPOSE": "Schema for staging and committing changes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 99 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 99 } ], "score": 0.7000000000000001 } }, { "name": "ConflictResolution", "type": "Class", "tier": "STANDARD", "start_line": 107, "end_line": 114, "tags": { "PURPOSE": "Schema for resolving merge conflicts." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 107 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 107 } ], "score": 0.7000000000000001 } }, { "name": "DeploymentEnvironmentSchema", "type": "Class", "tier": "STANDARD", "start_line": 116, "end_line": 127, "tags": { "PURPOSE": "Schema for representing a target deployment environment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 116 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 116 } ], "score": 0.7000000000000001 } }, { "name": "DeployRequest", "type": "Class", "tier": "STANDARD", "start_line": 129, "end_line": 134, "tags": { "PURPOSE": "Schema for dashboard deployment requests." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 129 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 129 } ], "score": 0.7000000000000001 } }, { "name": "RepoInitRequest", "type": "Class", "tier": "STANDARD", "start_line": 136, "end_line": 142, "tags": { "PURPOSE": "Schema for repository initialization requests." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 136 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 136 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "storage_routes", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 146, "tags": { "TIER": "STANDARD", "SEMANTICS": "storage, files, upload, download, backup, repository", "PURPOSE": "API endpoints for file storage management (backups and repositories).", "LAYER": "API", "INVARIANT": "All paths must be validated against path traversal." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.models.storage" } ], "children": [ { "name": "list_files", "type": "Function", "tier": "STANDARD", "start_line": 24, "end_line": 47, "tags": { "PURPOSE": "List all files and directories in the storage system.", "PRE": "None.", "POST": "Returns a list of StoredFile objects.", "PARAM": "path (Optional[str]) - Subpath within the category.", "RETURN": "List[StoredFile] - List of files/directories." }, "relations": [ { "type": "CALLS", "target": "StoragePlugin.list_files" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "upload_file", "type": "Function", "tier": "STANDARD", "start_line": 49, "end_line": 80, "tags": { "PURPOSE": "Upload a file to the storage system.", "PRE": "file must be a valid UploadFile.", "POST": "Returns the StoredFile object of the uploaded file.", "PARAM": "file (UploadFile) - The file content.", "RETURN": "StoredFile - Metadata of the uploaded file.", "SIDE_EFFECT": "Writes file to the filesystem." }, "relations": [ { "type": "CALLS", "target": "StoragePlugin.save_file" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_file", "type": "Function", "tier": "STANDARD", "start_line": 82, "end_line": 112, "tags": { "PURPOSE": "Delete a specific file or directory.", "PRE": "category must be a valid FileCategory.", "POST": "Item is removed from storage.", "PARAM": "path (str) - Relative path of the item.", "RETURN": "None", "SIDE_EFFECT": "Deletes item from the filesystem." }, "relations": [ { "type": "CALLS", "target": "StoragePlugin.delete_file" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "download_file", "type": "Function", "tier": "STANDARD", "start_line": 114, "end_line": 144, "tags": { "PURPOSE": "Retrieve a file for download.", "PRE": "category must be a valid FileCategory.", "POST": "Returns a FileResponse.", "PARAM": "path (str) - Relative path of the file.", "RETURN": "FileResponse - The file content." }, "relations": [ { "type": "CALLS", "target": "StoragePlugin.get_file_path" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ReportsRouter", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 131, "tags": { "TIER": "CRITICAL", "SEMANTICS": "api, reports, list, detail, pagination, filters", "PURPOSE": "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." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.services.reports.report_service.ReportsService" }, { "type": "DEPENDS_ON", "target": "backend.src.dependencies" } ], "children": [ { "name": "_parse_csv_enum_list", "type": "Function", "tier": "STANDARD", "start_line": 26, "end_line": 56, "tags": { "PURPOSE": "Parse comma-separated query value into enum list.", "PRE": "raw may be None/empty or comma-separated values.", "POST": "Returns enum list or raises HTTP 400 with deterministic machine-readable payload.", "PARAM": "field_name (str) - Query field name for diagnostics.", "RETURN": "List - Parsed enum values." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 26 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 26 } ], "score": 0.8 } }, { "name": "list_reports", "type": "Function", "tier": "STANDARD", "start_line": 59, "end_line": 107, "tags": { "PURPOSE": "Return paginated unified reports list.", "PRE": "authenticated/authorized request and validated query params.", "POST": "deterministic error payload for invalid filters." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_report_detail", "type": "Function", "tier": "STANDARD", "start_line": 110, "end_line": 129, "tags": { "PURPOSE": "Return one normalized report detail with diagnostics and next actions.", "PRE": "authenticated/authorized request and existing report_id.", "POST": "returns normalized detail envelope or 404 when report is not found." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "__init__", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 10, "tags": { "PURPOSE": "Auto-generated module for backend/src/api/routes/__init__.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "__getattr__", "type": "Function", "tier": "TRIVIAL", "start_line": 6, "end_line": 6, "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": "TasksRouter", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 303, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, router, tasks, create, list, get, logs", "PURPOSE": "Defines the FastAPI router for task-related endpoints, allowing clients to create, list, and get the status of tasks.", "LAYER": "UI (API)", "RELATION": "Depends on the TaskManager. It is included by the main app." }, "relations": [], "children": [ { "name": "create_task", "type": "Function", "tier": "STANDARD", "start_line": 35, "end_line": 76, "tags": { "PURPOSE": "Create and start a new task for a given plugin.", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "plugin_id must exist and params must be valid for that plugin.", "POST": "A new task is created and started.", "RETURN": "Task - The created task instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "list_tasks", "type": "Function", "tier": "STANDARD", "start_line": 79, "end_line": 118, "tags": { "PURPOSE": "Retrieve a list of tasks with pagination and optional status filter.", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task_manager must be available.", "POST": "Returns a list of tasks.", "RETURN": "List[Task] - List of tasks." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task", "type": "Function", "tier": "STANDARD", "start_line": 121, "end_line": 141, "tags": { "PURPOSE": "Retrieve the details of a specific task.", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task_id must exist.", "POST": "Returns task details or raises 404.", "RETURN": "Task - The task details." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task_logs", "type": "Function", "tier": "CRITICAL", "start_line": 144, "end_line": 184, "tags": { "PURPOSE": "Retrieve logs for a specific task with optional filtering.", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task_id must exist.", "POST": "Returns a list of log entries or raises 404.", "RETURN": "List[LogEntry] - List of log entries.", "TIER": "CRITICAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task_log_stats", "type": "Function", "tier": "STANDARD", "start_line": 187, "end_line": 207, "tags": { "PURPOSE": "Get statistics about logs for a task (counts by level and source).", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task_id must exist.", "POST": "Returns log statistics or raises 404.", "RETURN": "LogStats - Statistics about task logs." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_task_log_sources", "type": "Function", "tier": "STANDARD", "start_line": 210, "end_line": 230, "tags": { "PURPOSE": "Get unique sources for a task's logs.", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task_id must exist.", "POST": "Returns list of unique source names or raises 404.", "RETURN": "List[str] - Unique source names." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "resolve_task", "type": "Function", "tier": "STANDARD", "start_line": 233, "end_line": 256, "tags": { "PURPOSE": "Resolve a task that is awaiting mapping.", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task must be in AWAITING_MAPPING status.", "POST": "Task is resolved and resumes execution.", "RETURN": "Task - The updated task object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "resume_task", "type": "Function", "tier": "STANDARD", "start_line": 259, "end_line": 282, "tags": { "PURPOSE": "Resume a task that is awaiting input (e.g., passwords).", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task must be in AWAITING_INPUT status.", "POST": "Task resumes execution with provided input.", "RETURN": "Task - The updated task object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "clear_tasks", "type": "Function", "tier": "STANDARD", "start_line": 285, "end_line": 302, "tags": { "PURPOSE": "Clear tasks matching the status filter.", "PARAM": "task_manager (TaskManager) - The task manager instance.", "PRE": "task_manager is available.", "POST": "Tasks are removed from memory/persistence." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.api.routes.dashboards", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 327, "tags": { "TIER": "STANDARD", "SEMANTICS": "api, dashboards, resources, hub", "PURPOSE": "API endpoints for the Dashboard Hub - listing dashboards with Git and task status", "LAYER": "API", "INVARIANT": "All dashboard responses include git_status and last_task metadata" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.dependencies" }, { "type": "DEPENDS_ON", "target": "backend.src.services.resource_service" }, { "type": "DEPENDS_ON", "target": "backend.src.core.superset_client" } ], "children": [ { "name": "GitStatus", "type": "DataClass", "tier": "STANDARD", "start_line": 23, "end_line": 27, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LastTask", "type": "DataClass", "tier": "STANDARD", "start_line": 29, "end_line": 33, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DashboardItem", "type": "DataClass", "tier": "STANDARD", "start_line": 35, "end_line": 44, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DashboardsResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 46, "end_line": 53, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dashboards", "type": "Function", "tier": "STANDARD", "start_line": 55, "end_line": 133, "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", "POST": "Response includes pagination metadata (page, page_size, total, total_pages)", "PARAM": "page_size (Optional[int]) - Items per page (default: 10, max: 100)", "RETURN": "DashboardsResponse - List of dashboards with status metadata" }, "relations": [ { "type": "CALLS", "target": "ResourceService.get_dashboards_with_status" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "MigrateRequest", "type": "DataClass", "tier": "STANDARD", "start_line": 135, "end_line": 142, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 144, "end_line": 147, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "migrate_dashboards", "type": "Function", "tier": "STANDARD", "start_line": 149, "end_line": 207, "tags": { "PURPOSE": "Trigger bulk migration of dashboards from source to target environment", "PRE": "dashboard_ids is a non-empty list", "POST": "Task is created and queued for execution", "PARAM": "request (MigrateRequest) - Migration request with source, target, and dashboard IDs", "RETURN": "TaskResponse - Task ID for tracking" }, "relations": [ { "type": "DISPATCHES", "target": "MigrationPlugin" }, { "type": "CALLS", "target": "task_manager.create_task" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "BackupRequest", "type": "DataClass", "tier": "STANDARD", "start_line": 209, "end_line": 214, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backup_dashboards", "type": "Function", "tier": "STANDARD", "start_line": 216, "end_line": 269, "tags": { "PURPOSE": "Trigger bulk backup of dashboards with optional cron schedule", "PRE": "dashboard_ids is a non-empty list", "POST": "If schedule is provided, a scheduled task is created", "PARAM": "request (BackupRequest) - Backup request with environment and dashboard IDs", "RETURN": "TaskResponse - Task ID for tracking" }, "relations": [ { "type": "DISPATCHES", "target": "BackupPlugin" }, { "type": "CALLS", "target": "task_manager.create_task" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatabaseMapping", "type": "DataClass", "tier": "STANDARD", "start_line": 271, "end_line": 278, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatabaseMappingsResponse", "type": "DataClass", "tier": "STANDARD", "start_line": 280, "end_line": 283, "tags": {}, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_database_mappings", "type": "Function", "tier": "STANDARD", "start_line": 285, "end_line": 325, "tags": { "PURPOSE": "Get database mapping suggestions between source and target environments", "PRE": "source_env_id and target_env_id are valid environment IDs", "POST": "Returns list of suggested database mappings with confidence scores", "PARAM": "target_env_id (str) - Target environment ID", "RETURN": "DatabaseMappingsResponse - List of suggested mappings" }, "relations": [ { "type": "CALLS", "target": "MappingService.get_suggestions" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.api.routes.__tests__.test_dashboards", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 286, "tags": { "TIER": "STANDARD", "PURPOSE": "Unit tests for Dashboards API endpoints", "LAYER": "API" }, "relations": [ { "type": "TESTS", "target": "backend.src.api.routes.dashboards" } ], "children": [ { "name": "test_get_dashboards_success", "type": "Function", "tier": "STANDARD", "start_line": 16, "end_line": 61, "tags": { "TEST": "GET /api/dashboards returns 200 and valid schema", "PRE": "env_id exists", "POST": "Response matches DashboardsResponse schema" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 16 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 16 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 16 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 16 } ], "score": 0.5333333333333333 } }, { "name": "test_get_dashboards_with_search", "type": "Function", "tier": "STANDARD", "start_line": 64, "end_line": 99, "tags": { "TEST": "GET /api/dashboards filters by search term", "PRE": "search parameter provided", "POST": "Only matching dashboards returned" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 } ], "score": 0.5333333333333333 } }, { "name": "test_get_dashboards_env_not_found", "type": "Function", "tier": "STANDARD", "start_line": 102, "end_line": 119, "tags": { "TEST": "GET /api/dashboards returns 404 if env_id missing", "PRE": "env_id does not exist", "POST": "Returns 404 error" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 102 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 102 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 102 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 102 } ], "score": 0.5333333333333333 } }, { "name": "test_get_dashboards_invalid_pagination", "type": "Function", "tier": "STANDARD", "start_line": 122, "end_line": 146, "tags": { "TEST": "GET /api/dashboards returns 400 for invalid page/page_size", "PRE": "page < 1 or page_size > 100", "POST": "Returns 400 error" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 122 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 122 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 122 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 122 } ], "score": 0.5333333333333333 } }, { "name": "test_migrate_dashboards_success", "type": "Function", "tier": "STANDARD", "start_line": 149, "end_line": 188, "tags": { "TEST": "POST /api/dashboards/migrate creates migration task", "PRE": "Valid source_env_id, target_env_id, dashboard_ids", "POST": "Returns task_id" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 } ], "score": 0.5333333333333333 } }, { "name": "test_migrate_dashboards_no_ids", "type": "Function", "tier": "STANDARD", "start_line": 191, "end_line": 212, "tags": { "TEST": "POST /api/dashboards/migrate returns 400 for empty dashboard_ids", "PRE": "dashboard_ids is empty", "POST": "Returns 400 error" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 191 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 191 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 191 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 191 } ], "score": 0.5333333333333333 } }, { "name": "test_backup_dashboards_success", "type": "Function", "tier": "STANDARD", "start_line": 215, "end_line": 251, "tags": { "TEST": "POST /api/dashboards/backup creates backup task", "PRE": "Valid env_id, dashboard_ids", "POST": "Returns task_id" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 215 } ], "score": 0.5333333333333333 } }, { "name": "test_get_database_mappings_success", "type": "Function", "tier": "STANDARD", "start_line": 254, "end_line": 283, "tags": { "TEST": "GET /api/dashboards/db-mappings returns mapping suggestions", "PRE": "Valid source_env_id, target_env_id", "POST": "Returns list of database mappings" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 254 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 254 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 254 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 254 } ], "score": 0.5333333333333333 } }, { "name": "mock_get_dashboards", "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 } }, { "name": "mock_get_dashboards", "type": "Function", "tier": "TRIVIAL", "start_line": 81, "end_line": 81, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @SEMANTICS (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.tests.test_reports_openapi_conformance", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 81, "tags": { "TIER": "CRITICAL", "SEMANTICS": "tests, reports, openapi, conformance", "PURPOSE": "Validate implemented reports payload shape against OpenAPI-required top-level contract fields.", "LAYER": "Domain (Tests)", "INVARIANT": "List and detail payloads include required contract keys." }, "relations": [ { "type": "TESTS", "target": "specs/020-task-reports-design/contracts/reports-api.openapi.yaml" } ], "children": [ { "name": "__init__", "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": "get_all_tasks", "type": "Function", "tier": "TRIVIAL", "start_line": 23, "end_line": 23, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_admin_user", "type": "Function", "tier": "TRIVIAL", "start_line": 27, "end_line": 27, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_task", "type": "Function", "tier": "TRIVIAL", "start_line": 32, "end_line": 32, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_reports_list_openapi_required_keys", "type": "Function", "tier": "TRIVIAL", "start_line": 45, "end_line": 45, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_reports_detail_openapi_required_keys", "type": "Function", "tier": "TRIVIAL", "start_line": 65, "end_line": 65, "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.tests.test_reports_api", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 139, "tags": { "TIER": "CRITICAL", "SEMANTICS": "tests, reports, api, contract, pagination, filtering", "PURPOSE": "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}." }, "relations": [ { "type": "TESTS", "target": "backend.src.api.routes.reports" } ], "children": [ { "name": "__init__", "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": "get_all_tasks", "type": "Function", "tier": "TRIVIAL", "start_line": 23, "end_line": 23, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_admin_user", "type": "Function", "tier": "TRIVIAL", "start_line": 27, "end_line": 27, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_make_task", "type": "Function", "tier": "TRIVIAL", "start_line": 32, "end_line": 32, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_reports_default_pagination_contract", "type": "Function", "tier": "TRIVIAL", "start_line": 44, "end_line": 44, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_reports_filter_and_pagination", "type": "Function", "tier": "TRIVIAL", "start_line": 72, "end_line": 72, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_reports_handles_mixed_naive_and_aware_datetimes", "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": "test_get_reports_invalid_filter_returns_400", "type": "Function", "tier": "TRIVIAL", "start_line": 122, "end_line": 122, "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.src.api.routes.__tests__.test_datasets", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 212, "tags": { "TIER": "STANDARD", "SEMANTICS": "datasets, api, tests, pagination, mapping, docs", "PURPOSE": "Unit tests for Datasets API endpoints", "LAYER": "API", "INVARIANT": "Endpoint contracts remain stable for success and validation failure paths." }, "relations": [ { "type": "TESTS", "target": "backend.src.api.routes.datasets" } ], "children": [ { "name": "test_get_datasets_success", "type": "Function", "tier": "STANDARD", "start_line": 18, "end_line": 60, "tags": { "PURPOSE": "Validate successful datasets listing contract for an existing environment.", "TEST": "GET /api/datasets returns 200 and valid schema", "PRE": "env_id exists", "POST": "Response matches DatasetsResponse schema" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 } ], "score": 0.8 } }, { "name": "test_get_datasets_env_not_found", "type": "Function", "tier": "STANDARD", "start_line": 63, "end_line": 80, "tags": { "TEST": "GET /api/datasets returns 404 if env_id missing", "PRE": "env_id does not exist", "POST": "Returns 404 error" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 63 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 63 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 63 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 63 } ], "score": 0.5333333333333333 } }, { "name": "test_get_datasets_invalid_pagination", "type": "Function", "tier": "STANDARD", "start_line": 83, "end_line": 107, "tags": { "TEST": "GET /api/datasets returns 400 for invalid page/page_size", "PRE": "page < 1 or page_size > 100", "POST": "Returns 400 error" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 83 } ], "score": 0.5333333333333333 } }, { "name": "test_map_columns_success", "type": "Function", "tier": "STANDARD", "start_line": 110, "end_line": 146, "tags": { "TEST": "POST /api/datasets/map-columns creates mapping task", "PRE": "Valid env_id, dataset_ids, source_type", "POST": "Returns task_id" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 110 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 110 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 110 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 110 } ], "score": 0.5333333333333333 } }, { "name": "test_map_columns_invalid_source_type", "type": "Function", "tier": "STANDARD", "start_line": 149, "end_line": 170, "tags": { "TEST": "POST /api/datasets/map-columns returns 400 for invalid source_type", "PRE": "source_type is not 'postgresql' or 'xlsx'", "POST": "Returns 400 error" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 149 } ], "score": 0.5333333333333333 } }, { "name": "test_generate_docs_success", "type": "Function", "tier": "STANDARD", "start_line": 173, "end_line": 209, "tags": { "TEST": "POST /api/datasets/generate-docs creates doc generation task", "PRE": "Valid env_id, dataset_ids, llm_provider", "POST": "Returns task_id" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 173 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 173 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 173 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 173 } ], "score": 0.5333333333333333 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.tests.test_reports_detail_api", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 84, "tags": { "TIER": "CRITICAL", "SEMANTICS": "tests, reports, api, detail, diagnostics", "PURPOSE": "Contract tests for GET /api/reports/{report_id} detail endpoint behavior.", "LAYER": "Domain (Tests)", "INVARIANT": "Detail endpoint tests must keep deterministic assertions for success and not-found contracts." }, "relations": [ { "type": "TESTS", "target": "backend.src.api.routes.reports" } ], "children": [ { "name": "__init__", "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": "get_all_tasks", "type": "Function", "tier": "TRIVIAL", "start_line": 23, "end_line": 23, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_admin_user", "type": "Function", "tier": "TRIVIAL", "start_line": 27, "end_line": 27, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_make_task", "type": "Function", "tier": "TRIVIAL", "start_line": 32, "end_line": 32, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_report_detail_success", "type": "Function", "tier": "TRIVIAL", "start_line": 45, "end_line": 45, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_report_detail_not_found", "type": "Function", "tier": "TRIVIAL", "start_line": 70, "end_line": 70, "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.src.models.config", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 26, "tags": { "TIER": "STANDARD", "SEMANTICS": "database, config, settings, sqlalchemy", "PURPOSE": "Defines database schema for persisted application configuration.", "LAYER": "Domain" }, "relations": [ { "type": "DEPENDS_ON", "target": "sqlalchemy" } ], "children": [ { "name": "AppConfigRecord", "type": "Class", "tier": "STANDARD", "start_line": 15, "end_line": 25, "tags": { "PURPOSE": "Stores the single source of truth for application configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.llm", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 46, "tags": { "TIER": "STANDARD", "SEMANTICS": "llm, models, sqlalchemy, persistence", "PURPOSE": "SQLAlchemy models for LLM provider configuration and validation results.", "LAYER": "Domain" }, "relations": [ { "type": "INHERITS_FROM", "target": "backend.src.models.mapping.Base" } ], "children": [ { "name": "LLMProvider", "type": "Class", "tier": "STANDARD", "start_line": 16, "end_line": 29, "tags": { "PURPOSE": "SQLAlchemy model for LLM provider configuration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 16 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 16 } ], "score": 0.7000000000000001 } }, { "name": "ValidationRecord", "type": "Class", "tier": "STANDARD", "start_line": 31, "end_line": 44, "tags": { "PURPOSE": "SQLAlchemy model for dashboard validation history." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 31 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 31 } ], "score": 0.7000000000000001 } }, { "name": "generate_uuid", "type": "Function", "tier": "TRIVIAL", "start_line": 13, "end_line": 13, "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": "GitModels", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 73, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "git, models, sqlalchemy, database, schema", "PURPOSE": "Git-specific SQLAlchemy models for configuration and repository tracking.", "LAYER": "Model", "RELATION": "specs/011-git-integration-dashboard/data-model.md" }, "relations": [], "children": [ { "name": "GitServerConfig", "type": "Class", "tier": "TRIVIAL", "start_line": 29, "end_line": 43, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Configuration for a Git server connection." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "GitRepository", "type": "Class", "tier": "TRIVIAL", "start_line": 45, "end_line": 58, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Tracking for a local Git repository linked to a dashboard." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DeploymentEnvironment", "type": "Class", "tier": "TRIVIAL", "start_line": 60, "end_line": 71, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Target Superset environments for dashboard deployment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.task", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 61, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "database, task, record, sqlalchemy, sqlite", "PURPOSE": "Defines the database schema for task execution records.", "LAYER": "Domain", "INVARIANT": "All primary keys are UUID strings." }, "relations": [ { "type": "DEPENDS_ON", "target": "sqlalchemy" } ], "children": [ { "name": "TaskRecord", "type": "Class", "tier": "TRIVIAL", "start_line": 18, "end_line": 35, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents a persistent record of a task execution." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TaskLogRecord", "type": "Class", "tier": "CRITICAL", "start_line": 37, "end_line": 59, "tags": { "PURPOSE": "Represents a single persistent log entry for a task.", "TIER": "CRITICAL", "INVARIANT": "Each log entry belongs to exactly one task." }, "relations": [ { "type": "DEPENDS_ON", "target": "TaskRecord" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.connection", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 36, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "database, connection, configuration, sqlalchemy, sqlite", "PURPOSE": "Defines the database schema for external database connection configurations.", "LAYER": "Domain", "INVARIANT": "All primary keys are UUID strings." }, "relations": [ { "type": "DEPENDS_ON", "target": "sqlalchemy" } ], "children": [ { "name": "ConnectionConfig", "type": "Class", "tier": "TRIVIAL", "start_line": 18, "end_line": 34, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Stores credentials for external databases used for column mapping." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.mapping", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 75, "tags": { "TIER": "STANDARD", "SEMANTICS": "database, mapping, environment, migration, sqlalchemy, sqlite", "PURPOSE": "Defines the database schema for environment metadata and database mappings using SQLAlchemy.", "LAYER": "Domain", "INVARIANT": "All primary keys are UUID strings.", "CONSTRAINT": "source_env_id and target_env_id must be valid environment IDs." }, "relations": [ { "type": "DEPENDS_ON", "target": "sqlalchemy" } ], "children": [ { "name": "MigrationStatus", "type": "Class", "tier": "TRIVIAL", "start_line": 22, "end_line": 31, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Enumeration of possible migration job statuses." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "Environment", "type": "Class", "tier": "STANDARD", "start_line": 33, "end_line": 43, "tags": { "TIER": "STANDARD", "PURPOSE": "Represents a Superset instance environment." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DatabaseMapping", "type": "Class", "tier": "STANDARD", "start_line": 45, "end_line": 59, "tags": { "TIER": "STANDARD", "PURPOSE": "Represents a mapping between source and target databases." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "MigrationJob", "type": "Class", "tier": "TRIVIAL", "start_line": 61, "end_line": 73, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents a single migration execution job." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.report", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 128, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, models, pydantic, normalization, pagination", "PURPOSE": "Canonical report schemas for unified task reporting across heterogeneous task types.", "LAYER": "Domain", "INVARIANT": "Canonical report fields are always present for every report item." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.task_manager.models" } ], "children": [ { "name": "TaskType", "type": "Class", "tier": "STANDARD", "start_line": 18, "end_line": 26, "tags": { "PURPOSE": "Supported normalized task report types." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 } ], "score": 0.7000000000000001 } }, { "name": "ReportStatus", "type": "Class", "tier": "STANDARD", "start_line": 29, "end_line": 36, "tags": { "PURPOSE": "Supported normalized report status values." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 } ], "score": 0.7000000000000001 } }, { "name": "ErrorContext", "type": "Class", "tier": "STANDARD", "start_line": 39, "end_line": 45, "tags": { "PURPOSE": "Error and recovery context for failed/partial reports." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 } ], "score": 0.7000000000000001 } }, { "name": "TaskReport", "type": "Class", "tier": "STANDARD", "start_line": 48, "end_line": 68, "tags": { "PURPOSE": "Canonical normalized report envelope for one task execution." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 48 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 48 } ], "score": 0.7000000000000001 } }, { "name": "ReportQuery", "type": "Class", "tier": "STANDARD", "start_line": 71, "end_line": 104, "tags": { "PURPOSE": "Query object for server-side report filtering, sorting, and pagination." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 71 } ], "score": 0.7000000000000001 } }, { "name": "ReportCollection", "type": "Class", "tier": "STANDARD", "start_line": 107, "end_line": 116, "tags": { "PURPOSE": "Paginated collection of normalized task reports." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 107 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 107 } ], "score": 0.7000000000000001 } }, { "name": "ReportDetailView", "type": "Class", "tier": "STANDARD", "start_line": 119, "end_line": 126, "tags": { "PURPOSE": "Detailed report representation including diagnostics and recovery actions." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 119 } ], "score": 0.7000000000000001 } }, { "name": "_non_empty_str", "type": "Function", "tier": "TRIVIAL", "start_line": 64, "end_line": 64, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_validate_sort_by", "type": "Function", "tier": "TRIVIAL", "start_line": 86, "end_line": 86, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_validate_sort_order", "type": "Function", "tier": "TRIVIAL", "start_line": 94, "end_line": 94, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_validate_time_range", "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 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.storage", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 44, "tags": { "TIER": "TRIVIAL", "SEMANTICS": "storage, file, model, pydantic", "PURPOSE": "Data models for the storage system.", "LAYER": "Domain" }, "relations": [], "children": [ { "name": "FileCategory", "type": "Class", "tier": "TRIVIAL", "start_line": 12, "end_line": 18, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Enumeration of supported file categories in the storage system." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "StorageConfig", "type": "Class", "tier": "TRIVIAL", "start_line": 20, "end_line": 30, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Configuration model for the storage system, defining paths and naming patterns." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "StoredFile", "type": "Class", "tier": "TRIVIAL", "start_line": 32, "end_line": 42, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Data model representing metadata for a file stored in the system." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.dashboard", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 31, "tags": { "TIER": "STANDARD", "SEMANTICS": "dashboard, model, metadata, migration", "PURPOSE": "Defines data models for dashboard metadata and selection.", "LAYER": "Model" }, "relations": [ { "type": "USED_BY", "target": "backend.src.api.routes.migration" } ], "children": [ { "name": "DashboardMetadata", "type": "Class", "tier": "TRIVIAL", "start_line": 11, "end_line": 19, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents a dashboard available for migration." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "DashboardSelection", "type": "Class", "tier": "TRIVIAL", "start_line": 21, "end_line": 29, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Represents the user's selection of dashboards to migrate." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.models.auth", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 105, "tags": { "TIER": "STANDARD", "SEMANTICS": "auth, models, user, role, permission, sqlalchemy", "PURPOSE": "SQLAlchemy models for multi-user authentication and authorization.", "LAYER": "Domain", "INVARIANT": "Usernames and emails must be unique." }, "relations": [ { "type": "INHERITS_FROM", "target": "backend.src.models.mapping.Base" } ], "children": [ { "name": "generate_uuid", "type": "Function", "tier": "STANDARD", "start_line": 19, "end_line": 24, "tags": { "PURPOSE": "Generates a unique UUID string.", "POST": "Returns a string representation of a new UUID." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 } ], "score": 0.5333333333333333 } }, { "name": "user_roles", "type": "Table", "tier": "STANDARD", "start_line": 26, "end_line": 34, "tags": { "PURPOSE": "Association table for many-to-many relationship between Users and Roles." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "role_permissions", "type": "Table", "tier": "STANDARD", "start_line": 36, "end_line": 44, "tags": { "PURPOSE": "Association table for many-to-many relationship between Roles and Permissions." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "User", "type": "Class", "tier": "STANDARD", "start_line": 46, "end_line": 62, "tags": { "PURPOSE": "Represents an identity that can authenticate to the system." }, "relations": [ { "type": "HAS_MANY", "target": "Role (via user_roles)" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 46 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 46 } ], "score": 0.7000000000000001 } }, { "name": "Role", "type": "Class", "tier": "STANDARD", "start_line": 64, "end_line": 77, "tags": { "PURPOSE": "Represents a collection of permissions." }, "relations": [ { "type": "HAS_MANY", "target": "User (via user_roles)" }, { "type": "HAS_MANY", "target": "Permission (via role_permissions)" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 64 } ], "score": 0.7000000000000001 } }, { "name": "Permission", "type": "Class", "tier": "STANDARD", "start_line": 79, "end_line": 90, "tags": { "PURPOSE": "Represents a specific capability within the system." }, "relations": [ { "type": "HAS_MANY", "target": "Role (via role_permissions)" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 79 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 79 } ], "score": 0.7000000000000001 } }, { "name": "ADGroupMapping", "type": "Class", "tier": "STANDARD", "start_line": 92, "end_line": 103, "tags": { "PURPOSE": "Maps an Active Directory group to a local System Role." }, "relations": [ { "type": "DEPENDS_ON", "target": "Role" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 92 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 92 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_models", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 36, "tags": { "TIER": "TRIVIAL", "PURPOSE": "Unit tests for data models", "LAYER": "Domain" }, "relations": [ { "type": "VERIFIES", "target": "src.models" } ], "children": [ { "name": "test_environment_model", "type": "Function", "tier": "STANDARD", "start_line": 17, "end_line": 33, "tags": { "PURPOSE": "Tests that Environment model correctly stores values.", "PRE": "Environment class is available.", "POST": "Values are verified." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.services.resource_service", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 251, "tags": { "TIER": "STANDARD", "SEMANTICS": "service, resources, dashboards, datasets, tasks, git", "PURPOSE": "Shared service for fetching resource data with Git status and task status", "LAYER": "Service", "INVARIANT": "All resources include metadata about their current state" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.superset_client" }, { "type": "DEPENDS_ON", "target": "backend.src.core.task_manager" }, { "type": "DEPENDS_ON", "target": "backend.src.services.git_service" } ], "children": [ { "name": "ResourceService", "type": "Class", "tier": "STANDARD", "start_line": 19, "end_line": 250, "tags": { "PURPOSE": "Provides centralized access to resource data with enhanced metadata" }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 23, "end_line": 31, "tags": { "PURPOSE": "Initialize the resource service with dependencies", "PRE": "None", "POST": "ResourceService is ready to fetch resources" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_dashboards_with_status", "type": "Function", "tier": "STANDARD", "start_line": 33, "end_line": 74, "tags": { "PURPOSE": "Fetch dashboards from environment with Git status and last task status", "PRE": "env is a valid Environment object", "POST": "Returns list of dashboards with enhanced metadata", "PARAM": "tasks (List[Task]) - List of tasks to check for status", "RETURN": "List[Dict] - Dashboards with git_status and last_task fields" }, "relations": [ { "type": "CALLS", "target": "SupersetClient.get_dashboards_summary" }, { "type": "CALLS", "target": "self._get_git_status_for_dashboard" }, { "type": "CALLS", "target": "self._get_last_task_for_resource" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_datasets_with_status", "type": "Function", "tier": "STANDARD", "start_line": 76, "end_line": 112, "tags": { "PURPOSE": "Fetch datasets from environment with mapping progress and last task status", "PRE": "env is a valid Environment object", "POST": "Returns list of datasets with enhanced metadata", "PARAM": "tasks (List[Task]) - List of tasks to check for status", "RETURN": "List[Dict] - Datasets with mapped_fields and last_task fields" }, "relations": [ { "type": "CALLS", "target": "SupersetClient.get_datasets_summary" }, { "type": "CALLS", "target": "self._get_last_task_for_resource" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_activity_summary", "type": "Function", "tier": "STANDARD", "start_line": 114, "end_line": 151, "tags": { "PURPOSE": "Get summary of active and recent tasks for the activity indicator", "PRE": "tasks is a list of Task objects", "POST": "Returns summary with active_count and recent_tasks", "PARAM": "tasks (List[Task]) - List of tasks to summarize", "RETURN": "Dict - Activity summary" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_get_git_status_for_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 153, "end_line": 192, "tags": { "PURPOSE": "Get Git sync status for a dashboard", "PRE": "dashboard_id is a valid integer", "POST": "Returns git status or None if no repo exists", "PARAM": "dashboard_id (int) - The dashboard ID", "RETURN": "Optional[Dict] - Git status with branch and sync_status" }, "relations": [ { "type": "CALLS", "target": "GitService.get_repo" } ], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 153 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 153 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 153 } ], "score": 0.7 } }, { "name": "_get_last_task_for_resource", "type": "Function", "tier": "STANDARD", "start_line": 194, "end_line": 226, "tags": { "PURPOSE": "Get the most recent task for a specific resource", "PRE": "resource_id is a valid string", "POST": "Returns task summary or None if no tasks found", "PARAM": "tasks (Optional[List[Task]]) - List of tasks to search", "RETURN": "Optional[Dict] - Task summary with task_id and status" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 194 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 194 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 194 } ], "score": 0.7 } }, { "name": "_extract_resource_name_from_task", "type": "Function", "tier": "STANDARD", "start_line": 228, "end_line": 237, "tags": { "PURPOSE": "Extract resource name from task params", "PRE": "task is a valid Task object", "POST": "Returns resource name or task ID", "PARAM": "task (Task) - The task to extract from", "RETURN": "str - Resource name or fallback" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 228 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 228 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 228 } ], "score": 0.7 } }, { "name": "_extract_resource_type_from_task", "type": "Function", "tier": "STANDARD", "start_line": 239, "end_line": 248, "tags": { "PURPOSE": "Extract resource type from task params", "PRE": "task is a valid Task object", "POST": "Returns resource type or 'unknown'", "PARAM": "task (Task) - The task to extract from", "RETURN": "str - Resource type" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 239 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 239 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 239 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.services.llm_provider", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 169, "tags": { "TIER": "STANDARD", "SEMANTICS": "service, llm, provider, encryption", "PURPOSE": "Service for managing LLM provider configurations with encrypted API keys.", "LAYER": "Domain" }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.database" }, { "type": "DEPENDS_ON", "target": "backend.src.models.llm" } ], "children": [ { "name": "EncryptionManager", "type": "Class", "tier": "CRITICAL", "start_line": 17, "end_line": 46, "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)." }, "relations": [], "children": [ { "name": "EncryptionManager.__init__", "type": "Function", "tier": "STANDARD", "start_line": 22, "end_line": 29, "tags": { "PURPOSE": "Initialize the encryption manager with a Fernet key.", "PRE": "ENCRYPTION_KEY env var must be set or use default dev key.", "POST": "Fernet instance ready for encryption/decryption." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "EncryptionManager.encrypt", "type": "Function", "tier": "STANDARD", "start_line": 31, "end_line": 37, "tags": { "PURPOSE": "Encrypt a plaintext string.", "PRE": "data must be a non-empty string.", "POST": "Returns encrypted string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 31 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 31 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 31 } ], "score": 0.7 } }, { "name": "EncryptionManager.decrypt", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 45, "tags": { "PURPOSE": "Decrypt an encrypted string.", "PRE": "encrypted_data must be a valid Fernet-encrypted string.", "POST": "Returns original plaintext string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LLMProviderService", "type": "Class", "tier": "STANDARD", "start_line": 48, "end_line": 167, "tags": { "TIER": "STANDARD", "PURPOSE": "Service to manage LLM provider lifecycle." }, "relations": [], "children": [ { "name": "LLMProviderService.__init__", "type": "Function", "tier": "STANDARD", "start_line": 52, "end_line": 59, "tags": { "PURPOSE": "Initialize the service with database session.", "PRE": "db must be a valid SQLAlchemy Session.", "POST": "Service ready for provider operations." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_all_providers", "type": "Function", "tier": "STANDARD", "start_line": 61, "end_line": 69, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns all configured LLM providers.", "PRE": "Database connection must be active.", "POST": "Returns list of all LLMProvider records." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_provider", "type": "Function", "tier": "STANDARD", "start_line": 71, "end_line": 79, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns a single LLM provider by ID.", "PRE": "provider_id must be a valid string.", "POST": "Returns LLMProvider or None if not found." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_provider", "type": "Function", "tier": "STANDARD", "start_line": 81, "end_line": 101, "tags": { "TIER": "STANDARD", "PURPOSE": "Creates a new LLM provider with encrypted API key.", "PRE": "config must contain valid provider configuration.", "POST": "New provider created and persisted to database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "update_provider", "type": "Function", "tier": "STANDARD", "start_line": 103, "end_line": 126, "tags": { "TIER": "STANDARD", "PURPOSE": "Updates an existing LLM provider.", "PRE": "provider_id must exist, config must be valid.", "POST": "Provider updated and persisted to database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_provider", "type": "Function", "tier": "STANDARD", "start_line": 128, "end_line": 141, "tags": { "TIER": "STANDARD", "PURPOSE": "Deletes an LLM provider.", "PRE": "provider_id must exist.", "POST": "Provider removed from database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_decrypted_api_key", "type": "Function", "tier": "STANDARD", "start_line": 143, "end_line": 165, "tags": { "TIER": "STANDARD", "PURPOSE": "Returns the decrypted API key for a provider.", "PRE": "provider_id must exist with valid encrypted key.", "POST": "Returns decrypted API key or None on failure." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "__init__", "type": "Function", "tier": "TRIVIAL", "start_line": 26, "end_line": 26, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "encrypt", "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 } }, { "name": "decrypt", "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": "__init__", "type": "Function", "tier": "TRIVIAL", "start_line": 56, "end_line": 56, "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.src.services", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 21, "tags": { "TIER": "STANDARD", "SEMANTICS": "services, package, init", "PURPOSE": "Package initialization for services module", "LAYER": "Core", "NOTE": "GitService, AuthService, LLMProviderService have circular import issues - import directly when needed" }, "relations": [ { "type": "EXPORTS", "target": "resource_service, mapping_service" } ], "children": [ { "name": "__getattr__", "type": "Function", "tier": "TRIVIAL", "start_line": 13, "end_line": 13, "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.src.services.auth_service", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 115, "tags": { "SEMANTICS": "auth, service, business-logic, login, jwt", "PURPOSE": "Orchestrates authentication business logic.", "LAYER": "Service", "INVARIANT": "Authentication must verify both credentials and account status." }, "relations": [ { "type": "USES", "target": "backend.src.core.auth.repository.AuthRepository" }, { "type": "USES", "target": "backend.src.core.auth.security" }, { "type": "USES", "target": "backend.src.core.auth.jwt" } ], "children": [ { "name": "AuthService", "type": "Class", "tier": "STANDARD", "start_line": 22, "end_line": 113, "tags": { "PURPOSE": "Provides high-level authentication services." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 25, "end_line": 30, "tags": { "PURPOSE": "Initializes the service with a database session.", "PARAM": "db (Session) - SQLAlchemy session." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 25 } ], "score": 0.26666666666666655 } }, { "name": "authenticate_user", "type": "Function", "tier": "STANDARD", "start_line": 32, "end_line": 54, "tags": { "PURPOSE": "Authenticates a user with username and password.", "PRE": "username and password are provided.", "POST": "Returns User object if authentication succeeds, else None.", "SIDE_EFFECT": "Updates last_login timestamp on success.", "PARAM": "password (str) - The plain password.", "RETURN": "Optional[User] - The authenticated user or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_session", "type": "Function", "tier": "STANDARD", "start_line": 56, "end_line": 77, "tags": { "PURPOSE": "Creates a JWT session for an authenticated user.", "PRE": "user is a valid User object.", "POST": "Returns a dictionary with access_token and token_type.", "PARAM": "user (User) - The authenticated user.", "RETURN": "Dict[str, str] - Session data." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "provision_adfs_user", "type": "Function", "tier": "STANDARD", "start_line": 79, "end_line": 111, "tags": { "PURPOSE": "Just-In-Time (JIT) provisioning for ADFS users based on group mappings.", "PRE": "user_info contains 'upn' (username), 'email', and 'groups'.", "POST": "User is created/updated and assigned roles based on groups.", "PARAM": "user_info (Dict[str, Any]) - Claims from ADFS token.", "RETURN": "User - The provisioned user." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.services.git_service", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 412, "tags": { "SEMANTICS": "git, service, gitpython, repository, version_control", "PURPOSE": "Core Git logic using GitPython to manage dashboard repositories.", "LAYER": "Service", "INVARIANT": "All Git operations must be performed on a valid local directory." }, "relations": [ { "type": "INHERITS_FROM", "target": "None" }, { "type": "USED_BY", "target": "src.api.routes.git" }, { "type": "USED_BY", "target": "src.plugins.git_plugin" } ], "children": [ { "name": "GitService", "type": "Class", "tier": "STANDARD", "start_line": 21, "end_line": 411, "tags": { "PURPOSE": "Wrapper for GitPython operations with semantic logging and error handling." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 44, "tags": { "PURPOSE": "Initializes the GitService with a base path for repositories.", "PARAM": "base_path (str) - Root directory for all Git clones.", "PRE": "base_path is a valid string path.", "POST": "GitService is initialized; base_path directory exists." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_get_repo_path", "type": "Function", "tier": "STANDARD", "start_line": 46, "end_line": 55, "tags": { "PURPOSE": "Resolves the local filesystem path for a dashboard's repository.", "PARAM": "dashboard_id (int)", "PRE": "dashboard_id is an integer.", "POST": "Returns the absolute or relative path to the dashboard's repo.", "RETURN": "str" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "init_repo", "type": "Function", "tier": "STANDARD", "start_line": 57, "end_line": 82, "tags": { "PURPOSE": "Initialize or clone a repository for a dashboard.", "PARAM": "pat (str) - Personal Access Token for authentication.", "PRE": "dashboard_id is int, remote_url is valid Git URL, pat is provided.", "POST": "Repository is cloned or opened at the local path.", "RETURN": "Repo - GitPython Repo object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_repo", "type": "Function", "tier": "STANDARD", "start_line": 84, "end_line": 100, "tags": { "PURPOSE": "Get Repo object for a dashboard.", "PRE": "Repository must exist on disk for the given dashboard_id.", "POST": "Returns a GitPython Repo instance for the dashboard.", "RETURN": "Repo" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "list_branches", "type": "Function", "tier": "STANDARD", "start_line": 102, "end_line": 154, "tags": { "PURPOSE": "List all branches for a dashboard's repository.", "PRE": "Repository for dashboard_id exists.", "POST": "Returns a list of branch metadata dictionaries.", "RETURN": "List[dict]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "create_branch", "type": "Function", "tier": "STANDARD", "start_line": 156, "end_line": 190, "tags": { "PURPOSE": "Create a new branch from an existing one.", "PARAM": "from_branch (str) - Source branch.", "PRE": "Repository exists; name is valid; from_branch exists or repo is empty.", "POST": "A new branch is created in the repository." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "checkout_branch", "type": "Function", "tier": "STANDARD", "start_line": 192, "end_line": 201, "tags": { "PURPOSE": "Switch to a specific branch.", "PRE": "Repository exists and the specified branch name exists.", "POST": "The repository working directory is updated to the specified branch." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "commit_changes", "type": "Function", "tier": "STANDARD", "start_line": 203, "end_line": 227, "tags": { "PURPOSE": "Stage and commit changes.", "PARAM": "files (List[str]) - Optional list of specific files to stage.", "PRE": "Repository exists and has changes (dirty) or files are specified.", "POST": "Changes are staged and a new commit is created." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "push_changes", "type": "Function", "tier": "STANDARD", "start_line": 229, "end_line": 261, "tags": { "PURPOSE": "Push local commits to remote.", "PRE": "Repository exists and has an 'origin' remote.", "POST": "Local branch commits are pushed to origin." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "pull_changes", "type": "Function", "tier": "STANDARD", "start_line": 263, "end_line": 284, "tags": { "PURPOSE": "Pull changes from remote.", "PRE": "Repository exists and has an 'origin' remote.", "POST": "Changes from origin are pulled and merged into the active branch." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_status", "type": "Function", "tier": "STANDARD", "start_line": 286, "end_line": 310, "tags": { "PURPOSE": "Get current repository status (dirty files, untracked, etc.)", "PRE": "Repository for dashboard_id exists.", "POST": "Returns a dictionary representing the Git status.", "RETURN": "dict" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_diff", "type": "Function", "tier": "STANDARD", "start_line": 312, "end_line": 329, "tags": { "PURPOSE": "Generate diff for a file or the whole repository.", "PARAM": "staged (bool) - Whether to show staged changes.", "PRE": "Repository for dashboard_id exists.", "POST": "Returns the diff text as a string.", "RETURN": "str" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_commit_history", "type": "Function", "tier": "STANDARD", "start_line": 331, "end_line": 359, "tags": { "PURPOSE": "Retrieve commit history for a repository.", "PARAM": "limit (int) - Max number of commits to return.", "PRE": "Repository for dashboard_id exists.", "POST": "Returns a list of dictionaries for each commit in history.", "RETURN": "List[dict]" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_connection", "type": "Function", "tier": "STANDARD", "start_line": 361, "end_line": 409, "tags": { "PURPOSE": "Test connection to Git provider using PAT.", "PARAM": "pat (str)", "PRE": "provider is valid; url is a valid HTTP(S) URL; pat is provided.", "POST": "Returns True if connection to the provider's API succeeds.", "RETURN": "bool" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.services.mapping_service", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 71, "tags": { "SEMANTICS": "service, mapping, fuzzy-matching, superset", "PURPOSE": "Orchestrates database fetching and fuzzy matching suggestions.", "LAYER": "Service", "INVARIANT": "Suggestions are based on database names." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.superset_client" }, { "type": "DEPENDS_ON", "target": "backend.src.core.utils.matching" } ], "children": [ { "name": "MappingService", "type": "Class", "tier": "STANDARD", "start_line": 18, "end_line": 69, "tags": { "PURPOSE": "Service for handling database mapping logic." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 22, "end_line": 30, "tags": { "PURPOSE": "Initializes the mapping service with a config manager.", "PRE": "config_manager is provided.", "PARAM": "config_manager (ConfigManager) - The configuration manager.", "POST": "Service is initialized." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_get_client", "type": "Function", "tier": "STANDARD", "start_line": 32, "end_line": 46, "tags": { "PURPOSE": "Helper to get an initialized SupersetClient for an environment.", "PARAM": "env_id (str) - The ID of the environment.", "PRE": "environment must exist in config.", "POST": "Returns an initialized SupersetClient.", "RETURN": "SupersetClient - Initialized client." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_suggestions", "type": "Function", "tier": "STANDARD", "start_line": 48, "end_line": 67, "tags": { "PURPOSE": "Fetches databases from both environments and returns fuzzy matching suggestions.", "PARAM": "target_env_id (str) - Target environment ID.", "PRE": "Both environments must be accessible.", "POST": "Returns fuzzy-matched database suggestions.", "RETURN": "List[Dict] - Suggested mappings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.services.__tests__.test_resource_service", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 215, "tags": { "TIER": "STANDARD", "SEMANTICS": "resource-service, tests, dashboards, datasets, activity", "PURPOSE": "Unit tests for ResourceService", "LAYER": "Service", "INVARIANT": "Resource summaries preserve task linkage and status projection behavior." }, "relations": [ { "type": "TESTS", "target": "backend.src.services.resource_service" }, { "type": "VERIFIES", "target": "ResourceService" } ], "children": [ { "name": "test_get_dashboards_with_status", "type": "Function", "tier": "STANDARD", "start_line": 15, "end_line": 54, "tags": { "PURPOSE": "Validate dashboard enrichment includes git/task status projections.", "TEST": "get_dashboards_with_status returns dashboards with git and task status", "PRE": "SupersetClient returns dashboard list", "POST": "Each dashboard has git_status and last_task fields" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 } ], "score": 0.8 } }, { "name": "test_get_datasets_with_status", "type": "Function", "tier": "STANDARD", "start_line": 57, "end_line": 94, "tags": { "TEST": "get_datasets_with_status returns datasets with task status", "PRE": "SupersetClient returns dataset list", "POST": "Each dataset has last_task field" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 57 } ], "score": 0.5333333333333333 } }, { "name": "test_get_activity_summary", "type": "Function", "tier": "STANDARD", "start_line": 97, "end_line": 131, "tags": { "TEST": "get_activity_summary returns active count and recent tasks", "PRE": "tasks list provided", "POST": "Returns dict with active_count and recent_tasks" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 97 } ], "score": 0.5333333333333333 } }, { "name": "test_get_git_status_for_dashboard_no_repo", "type": "Function", "tier": "STANDARD", "start_line": 134, "end_line": 151, "tags": { "TEST": "_get_git_status_for_dashboard returns None when no repo exists", "PRE": "GitService returns None for repo", "POST": "Returns None" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 134 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 134 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 134 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 134 } ], "score": 0.5333333333333333 } }, { "name": "test_get_last_task_for_resource", "type": "Function", "tier": "STANDARD", "start_line": 154, "end_line": 183, "tags": { "TEST": "_get_last_task_for_resource returns most recent task for resource", "PRE": "tasks list with matching resource_id", "POST": "Returns task summary with task_id and status" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 154 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 154 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 154 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 154 } ], "score": 0.5333333333333333 } }, { "name": "test_extract_resource_name_from_task", "type": "Function", "tier": "STANDARD", "start_line": 186, "end_line": 212, "tags": { "TEST": "_extract_resource_name_from_task extracts name from params", "PRE": "task has resource_name in params", "POST": "Returns resource name or fallback" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 186 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 186 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 186 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 186 } ], "score": 0.5333333333333333 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.services.reports.normalizer", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 152, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, normalization, tasks, fallback", "PURPOSE": "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." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.task_manager.models.Task" }, { "type": "DEPENDS_ON", "target": "backend.src.models.report" }, { "type": "DEPENDS_ON", "target": "backend.src.services.reports.type_profiles" } ], "children": [ { "name": "status_to_report_status", "type": "Function", "tier": "STANDARD", "start_line": 21, "end_line": 36, "tags": { "PURPOSE": "Normalize internal task status to canonical report status.", "PRE": "status may be known or unknown string/enum value.", "POST": "Always returns one of canonical ReportStatus values.", "PARAM": "status (Any) - Internal task status value.", "RETURN": "ReportStatus - Canonical report status." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 21 } ], "score": 0.8 } }, { "name": "build_summary", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 60, "tags": { "PURPOSE": "Build deterministic user-facing summary from task payload and status.", "PRE": "report_status is canonical; plugin_id may be unknown.", "POST": "Returns non-empty summary text.", "PARAM": "report_status (ReportStatus) - Canonical status.", "RETURN": "str - Normalized summary." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 } ], "score": 0.8 } }, { "name": "extract_error_context", "type": "Function", "tier": "STANDARD", "start_line": 63, "end_line": 103, "tags": { "PURPOSE": "Extract normalized error context and next actions for failed/partial reports.", "PRE": "task is a valid Task object.", "POST": "Returns ErrorContext for failed/partial when context exists; otherwise None.", "PARAM": "report_status (ReportStatus) - Canonical status.", "RETURN": "Optional[ErrorContext] - Error context block." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 63 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 63 } ], "score": 0.8 } }, { "name": "normalize_task_report", "type": "Function", "tier": "STANDARD", "start_line": 106, "end_line": 150, "tags": { "PURPOSE": "Convert one Task to canonical TaskReport envelope.", "PRE": "task has valid id and plugin_id fields.", "POST": "Returns TaskReport with required fields and deterministic fallback behavior.", "PARAM": "task (Task) - Source task.", "RETURN": "TaskReport - Canonical normalized report." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 106 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 106 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.services.reports.type_profiles", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 91, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, type_profiles, normalization, fallback", "PURPOSE": "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." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.models.report.TaskType" } ], "children": [ { "name": "PLUGIN_TO_TASK_TYPE", "type": "Data", "tier": "STANDARD", "start_line": 15, "end_line": 23, "tags": { "PURPOSE": "Maps plugin identifiers to normalized report task types." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TASK_TYPE_PROFILES", "type": "Data", "tier": "STANDARD", "start_line": 25, "end_line": 64, "tags": { "PURPOSE": "Profile metadata registry for each normalized task type." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "resolve_task_type", "type": "Function", "tier": "STANDARD", "start_line": 67, "end_line": 78, "tags": { "PURPOSE": "Resolve canonical task type from plugin/task identifier with guaranteed fallback.", "PRE": "plugin_id may be None or unknown.", "POST": "Always returns one of TaskType enum values.", "PARAM": "plugin_id (Optional[str]) - Source plugin/task identifier from task record.", "RETURN": "TaskType - Resolved canonical type or UNKNOWN fallback." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 67 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 67 } ], "score": 0.8 } }, { "name": "get_type_profile", "type": "Function", "tier": "STANDARD", "start_line": 81, "end_line": 89, "tags": { "PURPOSE": "Return deterministic profile metadata for a task type.", "PRE": "task_type may be known or unknown.", "POST": "Returns a profile dict and never raises for unknown types.", "PARAM": "task_type (TaskType) - Canonical task type.", "RETURN": "Dict[str, Any] - Profile metadata used by normalization and UI contracts." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 } ], "score": 0.8 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.src.services.reports.report_service", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 195, "tags": { "TIER": "CRITICAL", "SEMANTICS": "reports, service, aggregation, filtering, pagination, detail", "PURPOSE": "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." }, "relations": [ { "type": "DEPENDS_ON", "target": "backend.src.core.task_manager.manager.TaskManager" }, { "type": "DEPENDS_ON", "target": "backend.src.models.report" }, { "type": "DEPENDS_ON", "target": "backend.src.services.reports.normalizer" } ], "children": [ { "name": "ReportsService", "type": "Class", "tier": "CRITICAL", "start_line": 21, "end_line": 193, "tags": { "PURPOSE": "Service layer for list/detail report retrieval and normalization.", "TIER": "CRITICAL", "PRE": "TaskManager dependency is initialized.", "POST": "Provides deterministic list/detail report responses.", "INVARIANT": "Service methods are read-only over task history source." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "CRITICAL", "start_line": 28, "end_line": 37, "tags": { "TIER": "CRITICAL", "PURPOSE": "Initialize service with TaskManager dependency.", "PRE": "task_manager is a live TaskManager instance.", "POST": "self.task_manager is assigned and ready for read operations.", "INVARIANT": "Constructor performs no task mutations.", "PARAM": "task_manager (TaskManager) - Task manager providing source task history." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_load_normalized_reports", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 49, "tags": { "PURPOSE": "Build normalized reports from all available tasks.", "PRE": "Task manager returns iterable task history records.", "POST": "Returns normalized report list preserving source cardinality.", "INVARIANT": "Every returned item is a TaskReport.", "RETURN": "List[TaskReport] - Reports sorted later by list logic." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 39 } ], "score": 0.7 } }, { "name": "_to_utc_datetime", "type": "Function", "tier": "STANDARD", "start_line": 51, "end_line": 64, "tags": { "PURPOSE": "Normalize naive/aware datetime values to UTC-aware datetime for safe comparisons.", "PRE": "value is either datetime or None.", "POST": "Returns UTC-aware datetime or None.", "INVARIANT": "Naive datetimes are interpreted as UTC to preserve deterministic ordering/filtering.", "PARAM": "value (Optional[datetime]) - Source datetime value.", "RETURN": "Optional[datetime] - UTC-aware datetime or None." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 51 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 51 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 51 } ], "score": 0.7 } }, { "name": "_datetime_sort_key", "type": "Function", "tier": "STANDARD", "start_line": 66, "end_line": 78, "tags": { "PURPOSE": "Produce stable numeric sort key for report timestamps.", "PRE": "report contains updated_at datetime.", "POST": "Returns float timestamp suitable for deterministic sorting.", "INVARIANT": "Mixed naive/aware datetimes never raise TypeError.", "PARAM": "report (TaskReport) - Report item.", "RETURN": "float - UTC timestamp key." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 66 } ], "score": 0.7 } }, { "name": "_matches_query", "type": "Function", "tier": "STANDARD", "start_line": 80, "end_line": 107, "tags": { "PURPOSE": "Apply query filtering to a report.", "PRE": "report and query are normalized schema instances.", "POST": "Returns True iff report satisfies all active query filters.", "INVARIANT": "Filter evaluation is side-effect free.", "PARAM": "query (ReportQuery) - Applied query.", "RETURN": "bool - True if report matches all filters." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 80 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 80 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 80 } ], "score": 0.7 } }, { "name": "_sort_reports", "type": "Function", "tier": "STANDARD", "start_line": 109, "end_line": 128, "tags": { "PURPOSE": "Sort reports deterministically according to query settings.", "PRE": "reports contains only TaskReport items.", "POST": "Returns reports ordered by selected sort field and order.", "INVARIANT": "Sorting criteria are deterministic for equal input.", "PARAM": "query (ReportQuery) - Sort config.", "RETURN": "List[TaskReport] - Sorted reports." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 109 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 109 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 109 } ], "score": 0.7 } }, { "name": "list_reports", "type": "Function", "tier": "STANDARD", "start_line": 130, "end_line": 155, "tags": { "PURPOSE": "Return filtered, sorted, paginated report collection.", "PRE": "query has passed schema validation.", "POST": "Returns {items,total,page,page_size,has_next,applied_filters}.", "PARAM": "query (ReportQuery) - List filters and pagination.", "RETURN": "ReportCollection - Paginated unified reports payload." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 130 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 130 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 130 } ], "score": 0.7 } }, { "name": "get_report_detail", "type": "Function", "tier": "STANDARD", "start_line": 157, "end_line": 192, "tags": { "PURPOSE": "Return one normalized report with timeline/diagnostics/next actions.", "PRE": "report_id exists in normalized report set.", "POST": "Returns normalized detail envelope with diagnostics and next actions where applicable.", "PARAM": "report_id (str) - Stable report identifier.", "RETURN": "Optional[ReportDetailView] - Detailed report or None if not found." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 157 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 157 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 157 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.tests.test_report_normalizer", "type": "Module", "tier": "CRITICAL", "start_line": 1, "end_line": 51, "tags": { "TIER": "CRITICAL", "SEMANTICS": "tests, reports, normalizer, fallback", "PURPOSE": "Validate unknown task type fallback and partial payload normalization behavior.", "LAYER": "Domain (Tests)", "INVARIANT": "Unknown plugin types are mapped to canonical unknown task type." }, "relations": [ { "type": "TESTS", "target": "backend.src.services.reports.normalizer" } ], "children": [ { "name": "test_unknown_type_maps_to_unknown_profile", "type": "Function", "tier": "TRIVIAL", "start_line": 15, "end_line": 15, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_partial_payload_keeps_report_visible_with_placeholders", "type": "Function", "tier": "TRIVIAL", "start_line": 33, "end_line": 33, "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": "BackupPlugin", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 261, "tags": { "SEMANTICS": "backup, superset, automation, dashboard, plugin", "PURPOSE": "A plugin that provides functionality to back up Superset dashboards.", "LAYER": "App" }, "relations": [ { "type": "IMPLEMENTS", "target": "PluginBase" }, { "type": "DEPENDS_ON", "target": "superset_tool.client" }, { "type": "DEPENDS_ON", "target": "superset_tool.utils" }, { "type": "USES", "target": "TaskContext" } ], "children": [ { "name": "BackupPlugin", "type": "Class", "tier": "STANDARD", "start_line": 29, "end_line": 260, "tags": { "PURPOSE": "Implementation of the backup plugin logic." }, "relations": [], "children": [ { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 37, "end_line": 45, "tags": { "PURPOSE": "Returns the unique identifier for the backup plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string ID.", "RETURN": "str - \"superset-backup\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 48, "end_line": 56, "tags": { "PURPOSE": "Returns the human-readable name of the backup plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string name.", "RETURN": "str - Plugin name." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 59, "end_line": 67, "tags": { "PURPOSE": "Returns a description of the backup plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string description.", "RETURN": "str - Plugin description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 70, "end_line": 78, "tags": { "PURPOSE": "Returns the version of the backup plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string version.", "RETURN": "str - \"1.0.0\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 81, "end_line": 87, "tags": { "PURPOSE": "Returns the frontend route for the backup plugin.", "RETURN": "str - \"/tools/backups\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 81 } ], "score": 0.26666666666666655 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 89, "end_line": 112, "tags": { "PURPOSE": "Returns the JSON schema for backup plugin parameters.", "PRE": "Plugin instance exists.", "POST": "Returns dictionary schema.", "RETURN": "Dict[str, Any] - JSON schema." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 114, "end_line": 259, "tags": { "PURPOSE": "Executes the dashboard backup logic with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "Target environment must be configured. params must be a dictionary.", "POST": "All dashboards are exported and archived." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 29 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "DebugPluginModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 216, "tags": { "SEMANTICS": "plugin, debug, api, database, superset", "PURPOSE": "Implements a plugin for system diagnostics and debugging Superset API responses.", "LAYER": "Plugins", "RELATION": "Inherits from PluginBase. Uses SupersetClient from core.", "CONSTRAINT": "Must use belief_scope for logging." }, "relations": [ { "type": "USES", "target": "TaskContext" } ], "children": [ { "name": "DebugPlugin", "type": "Class", "tier": "STANDARD", "start_line": 17, "end_line": 215, "tags": { "PURPOSE": "Plugin for system diagnostics and debugging." }, "relations": [], "children": [ { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 25, "end_line": 33, "tags": { "PURPOSE": "Returns the unique identifier for the debug plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string ID.", "RETURN": "str - \"system-debug\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 36, "end_line": 44, "tags": { "PURPOSE": "Returns the human-readable name of the debug plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string name.", "RETURN": "str - Plugin name." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 47, "end_line": 55, "tags": { "PURPOSE": "Returns a description of the debug plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string description.", "RETURN": "str - Plugin description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 58, "end_line": 66, "tags": { "PURPOSE": "Returns the version of the debug plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string version.", "RETURN": "str - \"1.0.0\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 69, "end_line": 75, "tags": { "PURPOSE": "Returns the frontend route for the debug plugin.", "RETURN": "str - \"/tools/debug\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 69 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 69 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 69 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 69 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 69 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 69 } ], "score": 0.26666666666666655 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 77, "end_line": 116, "tags": { "PURPOSE": "Returns the JSON schema for the debug plugin parameters.", "PRE": "Plugin instance exists.", "POST": "Returns dictionary schema.", "RETURN": "Dict[str, Any] - JSON schema." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 118, "end_line": 143, "tags": { "PURPOSE": "Executes the debug logic with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "action must be provided in params.", "POST": "Debug action is executed and results returned.", "RETURN": "Dict[str, Any] - Execution results." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_test_db_api", "type": "Function", "tier": "STANDARD", "start_line": 145, "end_line": 181, "tags": { "PURPOSE": "Tests database API connectivity for source and target environments.", "PRE": "source_env and target_env params exist in params.", "POST": "Returns DB counts for both envs.", "PARAM": "log - Logger instance for superset_api source.", "RETURN": "Dict - Comparison results." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_get_dataset_structure", "type": "Function", "tier": "STANDARD", "start_line": 183, "end_line": 213, "tags": { "PURPOSE": "Retrieves the structure of a dataset.", "PRE": "env and dataset_id params exist in params.", "POST": "Returns dataset JSON structure.", "PARAM": "log - Logger instance for superset_api source.", "RETURN": "Dict - Dataset structure." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 17 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 17 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "SearchPluginModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 221, "tags": { "SEMANTICS": "plugin, search, datasets, regex, superset", "PURPOSE": "Implements a plugin for searching text patterns across all datasets in a specific Superset environment.", "LAYER": "Plugins", "RELATION": "Inherits from PluginBase. Uses SupersetClient from core.", "CONSTRAINT": "Must use belief_scope for logging." }, "relations": [ { "type": "USES", "target": "TaskContext" } ], "children": [ { "name": "SearchPlugin", "type": "Class", "tier": "STANDARD", "start_line": 18, "end_line": 220, "tags": { "PURPOSE": "Plugin for searching text patterns in Superset datasets." }, "relations": [], "children": [ { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 26, "end_line": 34, "tags": { "PURPOSE": "Returns the unique identifier for the search plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string ID.", "RETURN": "str - \"search-datasets\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 37, "end_line": 45, "tags": { "PURPOSE": "Returns the human-readable name of the search plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string name.", "RETURN": "str - Plugin name." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 48, "end_line": 56, "tags": { "PURPOSE": "Returns a description of the search plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string description.", "RETURN": "str - Plugin description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 59, "end_line": 67, "tags": { "PURPOSE": "Returns the version of the search plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string version.", "RETURN": "str - \"1.0.0\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 70, "end_line": 76, "tags": { "PURPOSE": "Returns the frontend route for the search plugin.", "RETURN": "str - \"/tools/search\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 70 } ], "score": 0.26666666666666655 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 78, "end_line": 101, "tags": { "PURPOSE": "Returns the JSON schema for the search plugin parameters.", "PRE": "Plugin instance exists.", "POST": "Returns dictionary schema.", "RETURN": "Dict[str, Any] - JSON schema." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 103, "end_line": 180, "tags": { "PURPOSE": "Executes the dataset search logic with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "Params contain valid 'env' and 'query'.", "POST": "Returns a dictionary with count and results list.", "RETURN": "Dict[str, Any] - Search results." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_get_context", "type": "Function", "tier": "STANDARD", "start_line": 182, "end_line": 218, "tags": { "PURPOSE": "Extracts a small context around the match for display.", "PARAM": "context_lines (int) - Number of lines of context to include.", "PRE": "text and match_text must be strings.", "POST": "Returns context string.", "RETURN": "str - Extracted context." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 18 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "MapperPluginModule", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 215, "tags": { "SEMANTICS": "plugin, mapper, datasets, postgresql, excel", "PURPOSE": "Implements a plugin for mapping dataset columns using external database connections or Excel files.", "LAYER": "Plugins", "RELATION": "Inherits from PluginBase. Uses DatasetMapper from superset_tool.", "CONSTRAINT": "Must use belief_scope for logging." }, "relations": [ { "type": "USES", "target": "TaskContext" } ], "children": [ { "name": "MapperPlugin", "type": "Class", "tier": "STANDARD", "start_line": 20, "end_line": 214, "tags": { "PURPOSE": "Plugin for mapping dataset columns verbose names." }, "relations": [], "children": [ { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 28, "end_line": 36, "tags": { "PURPOSE": "Returns the unique identifier for the mapper plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string ID.", "RETURN": "str - \"dataset-mapper\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 39, "end_line": 47, "tags": { "PURPOSE": "Returns the human-readable name of the mapper plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string name.", "RETURN": "str - Plugin name." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 50, "end_line": 58, "tags": { "PURPOSE": "Returns a description of the mapper plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string description.", "RETURN": "str - Plugin description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 61, "end_line": 69, "tags": { "PURPOSE": "Returns the version of the mapper plugin.", "PRE": "Plugin instance exists.", "POST": "Returns string version.", "RETURN": "str - \"1.0.0\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 72, "end_line": 78, "tags": { "PURPOSE": "Returns the frontend route for the mapper plugin.", "RETURN": "str - \"/tools/mapper\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 72 } ], "score": 0.26666666666666655 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 80, "end_line": 130, "tags": { "PURPOSE": "Returns the JSON schema for the mapper plugin parameters.", "PRE": "Plugin instance exists.", "POST": "Returns dictionary schema.", "RETURN": "Dict[str, Any] - JSON schema." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 132, "end_line": 212, "tags": { "PURPOSE": "Executes the dataset mapping logic with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "Params contain valid 'env', 'dataset_id', and 'source'. params must be a dictionary.", "POST": "Updates the dataset in Superset.", "RETURN": "Dict[str, Any] - Execution status." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 20 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 20 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "backend.src.plugins.git_plugin", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 399, "tags": { "SEMANTICS": "git, plugin, dashboard, version_control, sync, deploy", "PURPOSE": "\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u043e\u0432 Superset.", "LAYER": "Plugin", "INVARIANT": "\u0412\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 Git \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 GitService.", "CONSTRAINT": "\u041f\u043b\u0430\u0433\u0438\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 YAML-\u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430\u043c\u0438 Superset." }, "relations": [ { "type": "INHERITS_FROM", "target": "src.core.plugin_base.PluginBase" }, { "type": "USES", "target": "src.services.git_service.GitService" }, { "type": "USES", "target": "src.core.superset_client.SupersetClient" }, { "type": "USES", "target": "src.core.config_manager.ConfigManager" }, { "type": "USES", "target": "TaskContext" } ], "children": [ { "name": "GitPlugin", "type": "Class", "tier": "STANDARD", "start_line": 30, "end_line": 398, "tags": { "PURPOSE": "\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Git Integration \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u043e\u0432." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 62, "tags": { "PURPOSE": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043f\u043b\u0430\u0433\u0438\u043d \u0438 \u0435\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.", "PRE": "config.json exists or shared config_manager is available.", "POST": "\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b git_service \u0438 config_manager." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 65, "end_line": 72, "tags": { "PURPOSE": "Returns the plugin identifier.", "PRE": "GitPlugin is initialized.", "POST": "Returns 'git-integration'." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 75, "end_line": 82, "tags": { "PURPOSE": "Returns the plugin name.", "PRE": "GitPlugin is initialized.", "POST": "Returns the human-readable name." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 85, "end_line": 92, "tags": { "PURPOSE": "Returns the plugin description.", "PRE": "GitPlugin is initialized.", "POST": "Returns the plugin's purpose description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 95, "end_line": 102, "tags": { "PURPOSE": "Returns the plugin version.", "PRE": "GitPlugin is initialized.", "POST": "Returns the version string." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 105, "end_line": 111, "tags": { "PURPOSE": "Returns the frontend route for the git plugin.", "RETURN": "str - \"/git\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 105 } ], "score": 0.26666666666666655 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 113, "end_line": 130, "tags": { "PURPOSE": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 JSON-\u0441\u0445\u0435\u043c\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043f\u043b\u0430\u0433\u0438\u043d\u0430.", "PRE": "GitPlugin is initialized.", "POST": "Returns a JSON schema dictionary.", "RETURN": "Dict[str, Any] - \u0421\u0445\u0435\u043c\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "initialize", "type": "Function", "tier": "STANDARD", "start_line": 132, "end_line": 397, "tags": { "PURPOSE": "\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u043b\u0430\u0433\u0438\u043d\u0430.", "PRE": "GitPlugin is initialized.", "POST": "\u041f\u043b\u0430\u0433\u0438\u043d \u0433\u043e\u0442\u043e\u0432 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u0437\u0430\u0434\u0430\u0447." }, "relations": [], "children": [ { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 140, "end_line": 177, "tags": { "PURPOSE": "\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 TaskContext.", "PRE": "task_data \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 'operation' \u0438 'dashboard_id'.", "POST": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "RETURN": "Dict[str, Any] - \u0421\u0442\u0430\u0442\u0443\u0441 \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435." }, "relations": [ { "type": "CALLS", "target": "self._handle_sync" }, { "type": "CALLS", "target": "self._handle_deploy" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_handle_sync", "type": "Function", "tier": "STANDARD", "start_line": 179, "end_line": 259, "tags": { "PURPOSE": "\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u0438\u0437 Superset \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0432 Git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439.", "PRE": "\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c.", "POST": "\u0424\u0430\u0439\u043b\u044b \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 Superset.", "PARAM": "source_env_id (Optional[str]) - ID \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.", "RETURN": "Dict[str, str] - \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438.", "SIDE_EFFECT": "\u0418\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f." }, "relations": [ { "type": "CALLS", "target": "src.services.git_service.GitService.get_repo" }, { "type": "CALLS", "target": "src.core.superset_client.SupersetClient.export_dashboard" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_handle_deploy", "type": "Function", "tier": "STANDARD", "start_line": 261, "end_line": 330, "tags": { "PURPOSE": "\u0423\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0432 ZIP \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 Superset.", "PRE": "environment_id \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c\u0443 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044e.", "POST": "\u0414\u0430\u0448\u0431\u043e\u0440\u0434 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 Superset.", "PARAM": "superset_log - Superset API-specific logger instance.", "RETURN": "Dict[str, Any] - \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u0435\u043f\u043b\u043e\u044f.", "SIDE_EFFECT": "\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 ZIP-\u0444\u0430\u0439\u043b." }, "relations": [ { "type": "CALLS", "target": "src.core.superset_client.SupersetClient.import_dashboard" } ], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_get_env", "type": "Function", "tier": "STANDARD", "start_line": 332, "end_line": 395, "tags": { "PURPOSE": "\u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.", "PARAM": "env_id (Optional[str]) - ID \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.", "PRE": "env_id is a string or None.", "POST": "Returns an Environment object from config or DB.", "RETURN": "Environment - \u041e\u0431\u044a\u0435\u043a\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 30 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 30 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "MigrationPlugin", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 380, "tags": { "SEMANTICS": "migration, superset, automation, dashboard, plugin", "PURPOSE": "A plugin that provides functionality to migrate Superset dashboards between environments.", "LAYER": "App" }, "relations": [ { "type": "IMPLEMENTS", "target": "PluginBase" }, { "type": "DEPENDS_ON", "target": "superset_tool.client" }, { "type": "DEPENDS_ON", "target": "superset_tool.utils" }, { "type": "USES", "target": "TaskContext" } ], "children": [ { "name": "MigrationPlugin", "type": "Class", "tier": "STANDARD", "start_line": 23, "end_line": 379, "tags": { "PURPOSE": "Implementation of the migration plugin logic." }, "relations": [], "children": [ { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 31, "end_line": 39, "tags": { "PURPOSE": "Returns the unique identifier for the migration plugin.", "PRE": "None.", "POST": "Returns \"superset-migration\".", "RETURN": "str - \"superset-migration\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 42, "end_line": 50, "tags": { "PURPOSE": "Returns the human-readable name of the migration plugin.", "PRE": "None.", "POST": "Returns the plugin name.", "RETURN": "str - Plugin name." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 53, "end_line": 61, "tags": { "PURPOSE": "Returns a description of the migration plugin.", "PRE": "None.", "POST": "Returns the plugin description.", "RETURN": "str - Plugin description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 64, "end_line": 72, "tags": { "PURPOSE": "Returns the version of the migration plugin.", "PRE": "None.", "POST": "Returns \"1.0.0\".", "RETURN": "str - \"1.0.0\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 75, "end_line": 81, "tags": { "PURPOSE": "Returns the frontend route for the migration plugin.", "RETURN": "str - \"/migration\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 75 } ], "score": 0.26666666666666655 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 83, "end_line": 132, "tags": { "PURPOSE": "Returns the JSON schema for migration plugin parameters.", "PRE": "Config manager is available.", "POST": "Returns a valid JSON schema dictionary.", "RETURN": "Dict[str, Any] - JSON schema." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 134, "end_line": 378, "tags": { "PURPOSE": "Executes the dashboard migration logic with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "Source and target environments must be configured.", "POST": "Selected dashboards are migrated." }, "relations": [], "children": [ { "name": "MigrationPlugin.execute", "type": "Action", "tier": "STANDARD", "start_line": 155, "end_line": 377, "tags": { "PURPOSE": "Execute the migration logic with proper task logging." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 23 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 23 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "schedule_dashboard_validation", "type": "Function", "tier": "STANDARD", "start_line": 12, "end_line": 42, "tags": { "PURPOSE": "Schedules a recurring dashboard validation task.", "PARAM": "params (Dict[str, Any]) - Task parameters (environment_id, provider_id).", "SIDE_EFFECT": "Adds a job to the scheduler service." }, "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 } ], "score": 0.6666666666666667 } }, { "name": "_parse_cron", "type": "Function", "tier": "STANDARD", "start_line": 44, "end_line": 60, "tags": { "PURPOSE": "Basic cron parser placeholder.", "PARAM": "cron (str) - Cron expression.", "RETURN": "Dict[str, str] - Parsed cron parts." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 } ], "score": 0.5666666666666667 } }, { "name": "scheduler", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 62, "tags": { "PURPOSE": "Auto-generated module for backend/src/plugins/llm_analysis/scheduler.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "job_func", "type": "Function", "tier": "TRIVIAL", "start_line": 25, "end_line": 25, "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": "LLMProviderType", "type": "Class", "tier": "STANDARD", "start_line": 12, "end_line": 18, "tags": { "PURPOSE": "Enum for supported LLM providers." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 12 } ], "score": 0.8 } }, { "name": "LLMProviderConfig", "type": "Class", "tier": "STANDARD", "start_line": 20, "end_line": 30, "tags": { "PURPOSE": "Configuration for an LLM provider." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 20 } ], "score": 0.8 } }, { "name": "ValidationStatus", "type": "Class", "tier": "STANDARD", "start_line": 32, "end_line": 38, "tags": { "PURPOSE": "Enum for dashboard validation status." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 32 } ], "score": 0.8 } }, { "name": "DetectedIssue", "type": "Class", "tier": "STANDARD", "start_line": 40, "end_line": 46, "tags": { "PURPOSE": "Model for a single issue detected during validation." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 40 } ], "score": 0.8 } }, { "name": "ValidationResult", "type": "Class", "tier": "STANDARD", "start_line": 48, "end_line": 59, "tags": { "PURPOSE": "Model for dashboard validation result." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 48 } ], "score": 0.8 } }, { "name": "DashboardValidationPlugin", "type": "Class", "tier": "STANDARD", "start_line": 27, "end_line": 229, "tags": { "PURPOSE": "Plugin for automated dashboard health analysis using LLMs." }, "relations": [ { "type": "IMPLEMENTS", "target": "backend.src.core.plugin_base.PluginBase" } ], "children": [ { "name": "DashboardValidationPlugin.execute", "type": "Function", "tier": "STANDARD", "start_line": 58, "end_line": 228, "tags": { "PURPOSE": "Executes the dashboard validation task with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "params contains dashboard_id, environment_id, and provider_id.", "POST": "Returns a dictionary with validation results and persists them to the database.", "SIDE_EFFECT": "Captures a screenshot, calls LLM API, and writes to the database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 } ], "score": 0.8 } }, { "name": "DocumentationPlugin", "type": "Class", "tier": "STANDARD", "start_line": 231, "end_line": 390, "tags": { "PURPOSE": "Plugin for automated dataset documentation using LLMs." }, "relations": [ { "type": "IMPLEMENTS", "target": "backend.src.core.plugin_base.PluginBase" } ], "children": [ { "name": "DocumentationPlugin.execute", "type": "Function", "tier": "STANDARD", "start_line": 262, "end_line": 389, "tags": { "PURPOSE": "Executes the dataset documentation task with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "params contains dataset_id, environment_id, and provider_id.", "POST": "Returns generated documentation and updates the dataset in Superset.", "SIDE_EFFECT": "Calls LLM API and updates dataset metadata in Superset." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 231 } ], "score": 0.8 } }, { "name": "plugin", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 392, "tags": { "PURPOSE": "Auto-generated module for backend/src/plugins/llm_analysis/plugin.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "id", "type": "Function", "tier": "TRIVIAL", "start_line": 32, "end_line": 32, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "TRIVIAL", "start_line": 36, "end_line": 36, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "TRIVIAL", "start_line": 40, "end_line": 40, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "TRIVIAL", "start_line": 44, "end_line": 44, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_schema", "type": "Function", "tier": "TRIVIAL", "start_line": 47, "end_line": 47, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "TRIVIAL", "start_line": 65, "end_line": 65, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "id", "type": "Function", "tier": "TRIVIAL", "start_line": 236, "end_line": 236, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "TRIVIAL", "start_line": 240, "end_line": 240, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "TRIVIAL", "start_line": 244, "end_line": 244, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "TRIVIAL", "start_line": 248, "end_line": 248, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_schema", "type": "Function", "tier": "TRIVIAL", "start_line": 251, "end_line": 251, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "TRIVIAL", "start_line": 269, "end_line": 269, "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": "ScreenshotService", "type": "Class", "tier": "STANDARD", "start_line": 24, "end_line": 414, "tags": { "PURPOSE": "Handles capturing screenshots of Superset dashboards." }, "relations": [], "children": [ { "name": "ScreenshotService.__init__", "type": "Function", "tier": "STANDARD", "start_line": 27, "end_line": 32, "tags": { "PURPOSE": "Initializes the ScreenshotService with environment configuration.", "PRE": "env is a valid Environment object." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 } ], "score": 0.7333333333333334 } }, { "name": "ScreenshotService.capture_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 413, "tags": { "PURPOSE": "Captures a full-page screenshot of a dashboard using Playwright and CDP.", "PRE": "dashboard_id is a valid string, output_path is a writable path.", "POST": "Returns True if screenshot is saved successfully.", "SIDE_EFFECT": "Launches a browser, performs UI login, switches tabs, and writes a PNG file.", "UX_STATE": "[Capturing] -> Executing CDP screenshot" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 24 } ], "score": 0.8 } }, { "name": "LLMClient", "type": "Class", "tier": "STANDARD", "start_line": 416, "end_line": 630, "tags": { "PURPOSE": "Wrapper for LLM provider APIs." }, "relations": [], "children": [ { "name": "LLMClient.__init__", "type": "Function", "tier": "STANDARD", "start_line": 419, "end_line": 437, "tags": { "PURPOSE": "Initializes the LLMClient with provider settings.", "PRE": "api_key, base_url, and default_model are non-empty strings." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 419 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 419 } ], "score": 0.7333333333333334 } }, { "name": "LLMClient.get_json_completion", "type": "Function", "tier": "STANDARD", "start_line": 439, "end_line": 544, "tags": { "PURPOSE": "Helper to handle LLM calls with JSON mode and fallback parsing.", "PRE": "messages is a list of valid message dictionaries.", "POST": "Returns a parsed JSON dictionary.", "SIDE_EFFECT": "Calls external LLM API." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "LLMClient.analyze_dashboard", "type": "Function", "tier": "STANDARD", "start_line": 546, "end_line": 629, "tags": { "PURPOSE": "Sends dashboard data (screenshot + logs) to LLM for health analysis.", "PRE": "screenshot_path exists, logs is a list of strings.", "POST": "Returns a structured analysis dictionary (status, summary, issues).", "SIDE_EFFECT": "Reads screenshot file and calls external LLM API." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 416 } ], "score": 0.8 } }, { "name": "service", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 632, "tags": { "PURPOSE": "Auto-generated module for backend/src/plugins/llm_analysis/service.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "TRIVIAL", "start_line": 30, "end_line": 30, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "capture_dashboard", "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": "switch_tabs", "type": "Function", "tier": "TRIVIAL", "start_line": 253, "end_line": 253, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "__init__", "type": "Function", "tier": "TRIVIAL", "start_line": 422, "end_line": 422, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "_should_retry", "type": "Function", "tier": "TRIVIAL", "start_line": 444, "end_line": 444, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_json_completion", "type": "Function", "tier": "TRIVIAL", "start_line": 458, "end_line": 458, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "analyze_dashboard", "type": "Function", "tier": "TRIVIAL", "start_line": 551, "end_line": 551, "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": "StoragePlugin", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 344, "tags": { "SEMANTICS": "storage, files, filesystem, plugin", "PURPOSE": "Provides core filesystem operations for managing backups and repositories.", "LAYER": "App", "INVARIANT": "All file operations must be restricted to the configured storage root." }, "relations": [ { "type": "IMPLEMENTS", "target": "PluginBase" }, { "type": "DEPENDS_ON", "target": "backend.src.models.storage" }, { "type": "USES", "target": "TaskContext" } ], "children": [ { "name": "StoragePlugin", "type": "Class", "tier": "STANDARD", "start_line": 27, "end_line": 343, "tags": { "PURPOSE": "Implementation of the storage management plugin." }, "relations": [], "children": [ { "name": "__init__", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 41, "tags": { "PURPOSE": "Initializes the StoragePlugin and ensures required directories exist.", "PRE": "Configuration manager must be accessible.", "POST": "Storage root and category directories are created on disk." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "id", "type": "Function", "tier": "STANDARD", "start_line": 44, "end_line": 52, "tags": { "PURPOSE": "Returns the unique identifier for the storage plugin.", "PRE": "None.", "POST": "Returns the plugin ID string.", "RETURN": "str - \"storage-manager\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "name", "type": "Function", "tier": "STANDARD", "start_line": 55, "end_line": 63, "tags": { "PURPOSE": "Returns the human-readable name of the storage plugin.", "PRE": "None.", "POST": "Returns the plugin name string.", "RETURN": "str - \"Storage Manager\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "description", "type": "Function", "tier": "STANDARD", "start_line": 66, "end_line": 74, "tags": { "PURPOSE": "Returns a description of the storage plugin.", "PRE": "None.", "POST": "Returns the plugin description string.", "RETURN": "str - Plugin description." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "version", "type": "Function", "tier": "STANDARD", "start_line": 77, "end_line": 85, "tags": { "PURPOSE": "Returns the version of the storage plugin.", "PRE": "None.", "POST": "Returns the version string.", "RETURN": "str - \"1.0.0\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ui_route", "type": "Function", "tier": "STANDARD", "start_line": 88, "end_line": 94, "tags": { "PURPOSE": "Returns the frontend route for the storage plugin.", "RETURN": "str - \"/tools/storage\"" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 88 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 88 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 88 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 88 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 88 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 88 } ], "score": 0.26666666666666655 } }, { "name": "get_schema", "type": "Function", "tier": "STANDARD", "start_line": 96, "end_line": 114, "tags": { "PURPOSE": "Returns the JSON schema for storage plugin parameters.", "PRE": "None.", "POST": "Returns a dictionary representing the JSON schema.", "RETURN": "Dict[str, Any] - JSON schema." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "execute", "type": "Function", "tier": "STANDARD", "start_line": 116, "end_line": 132, "tags": { "PURPOSE": "Executes storage-related tasks with TaskContext support.", "PARAM": "context (Optional[TaskContext]) - Task context for logging with source attribution.", "PRE": "params must match the plugin schema.", "POST": "Task is executed and logged." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_storage_root", "type": "Function", "tier": "STANDARD", "start_line": 134, "end_line": 154, "tags": { "PURPOSE": "Resolves the absolute path to the storage root.", "PRE": "Settings must define a storage root path.", "POST": "Returns a Path object representing the storage root." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "resolve_path", "type": "Function", "tier": "STANDARD", "start_line": 156, "end_line": 178, "tags": { "PURPOSE": "Resolves a dynamic path pattern using provided variables.", "PARAM": "variables (Dict[str, str]) - Variables to substitute in the pattern.", "PRE": "pattern must be a valid format string.", "POST": "Returns the resolved path string.", "RETURN": "str - The resolved path." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "ensure_directories", "type": "Function", "tier": "STANDARD", "start_line": 180, "end_line": 193, "tags": { "PURPOSE": "Creates the storage root and category subdirectories if they don't exist.", "PRE": "Storage root must be resolvable.", "POST": "Directories are created on the filesystem.", "SIDE_EFFECT": "Creates directories on the filesystem." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "validate_path", "type": "Function", "tier": "STANDARD", "start_line": 195, "end_line": 209, "tags": { "PURPOSE": "Prevents path traversal attacks by ensuring the path is within the storage root.", "PRE": "path must be a Path object.", "POST": "Returns the resolved absolute path if valid, otherwise raises ValueError." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "list_files", "type": "Function", "tier": "STANDARD", "start_line": 211, "end_line": 260, "tags": { "PURPOSE": "Lists all files and directories in a specific category and subpath.", "PARAM": "subpath (Optional[str]) - Nested path within the category.", "PRE": "Storage root must exist.", "POST": "Returns a list of StoredFile objects.", "RETURN": "List[StoredFile] - List of file and directory metadata objects." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "save_file", "type": "Function", "tier": "STANDARD", "start_line": 262, "end_line": 294, "tags": { "PURPOSE": "Saves an uploaded file to the specified category and optional subpath.", "PARAM": "subpath (Optional[str]) - The target subpath.", "PRE": "file must be a valid UploadFile; category must be valid.", "POST": "File is written to disk and metadata is returned.", "RETURN": "StoredFile - Metadata of the saved file.", "SIDE_EFFECT": "Writes file to disk." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "delete_file", "type": "Function", "tier": "STANDARD", "start_line": 296, "end_line": 320, "tags": { "PURPOSE": "Deletes a file or directory from the specified category and path.", "PARAM": "path (str) - The relative path of the file or directory.", "PRE": "path must belong to the specified category and exist on disk.", "POST": "The file or directory is removed from disk.", "SIDE_EFFECT": "Removes item from disk." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "get_file_path", "type": "Function", "tier": "STANDARD", "start_line": 322, "end_line": 341, "tags": { "PURPOSE": "Returns the absolute path of a file for download.", "PARAM": "path (str) - The relative path of the file.", "PRE": "path must belong to the specified category and be a file.", "POST": "Returns the absolute Path to the file.", "RETURN": "Path - Absolute path to the file." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 }, { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 27 } ], "score": 0.7000000000000001 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 1 } ], "score": 0.85 } }, { "name": "GitLLMExtension", "type": "Class", "tier": "STANDARD", "start_line": 13, "end_line": 64, "tags": { "PURPOSE": "Provides LLM capabilities to the Git plugin." }, "relations": [], "children": [ { "name": "suggest_commit_message", "type": "Function", "tier": "STANDARD", "start_line": 19, "end_line": 63, "tags": { "PURPOSE": "Generates a suggested commit message based on a diff and history.", "PARAM": "history (List[str]) - Recent commit messages for context.", "RETURN": "str - The suggested commit message." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Mandatory Tag: @PRE (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 }, { "message": "Missing Mandatory Tag: @POST (required for STANDARD tier)", "severity": "WARNING", "line_number": 19 } ], "score": 0.4666666666666666 } } ], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @TIER (required for STANDARD tier)", "severity": "WARNING", "line_number": 13 } ], "score": 0.8 } }, { "name": "llm_extension", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 66, "tags": { "PURPOSE": "Auto-generated module for backend/src/plugins/git/llm_extension.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "__init__", "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 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_environment_model", "type": "Function", "tier": "STANDARD", "start_line": 4, "end_line": 20, "tags": { "PURPOSE": "Tests that Environment model correctly stores values.", "PRE": "Environment class is available.", "POST": "Values are verified." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "backend.tests.test_dashboards_api", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 73, "tags": { "TIER": "STANDARD", "PURPOSE": "Contract-driven tests for Dashboard Hub API", "LAYER": "Domain (Tests)", "SEMANTICS": "tests, dashboards, api, contract" }, "relations": [ { "type": "TESTS", "target": "backend.src.api.routes.dashboards" } ], "children": [ { "name": "test_get_dashboards_success", "type": "Function", "tier": "STANDARD", "start_line": 15, "end_line": 53, "tags": { "TEST": "GET /api/dashboards returns 200 and valid schema", "PRE": "env_id exists", "POST": "Response matches DashboardsResponse schema" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 15 } ], "score": 0.5333333333333333 } }, { "name": "test_get_dashboards_env_not_found", "type": "Function", "tier": "STANDARD", "start_line": 55, "end_line": 71, "tags": { "TEST": "GET /api/dashboards returns 404 if env_id missing", "PRE": "env_id does not exist", "POST": "Returns 404 error" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 55 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 55 }, { "message": "Missing Mandatory Tag: @PURPOSE (required for STANDARD tier)", "severity": "WARNING", "line_number": 55 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 55 } ], "score": 0.5333333333333333 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_dashboards_api", "type": "Test", "tier": "STANDARD", "start_line": 9, "end_line": 78, "tags": { "PURPOSE": "Verify GET /api/dashboards contract compliance", "TEST": "Search filter works" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_datasets_api", "type": "Test", "tier": "STANDARD", "start_line": 80, "end_line": 123, "tags": { "PURPOSE": "Verify GET /api/datasets contract compliance", "TEST": "Negative - Service failure returns 503" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_resource_hubs", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 123, "tags": { "PURPOSE": "Auto-generated module for backend/tests/test_resource_hubs.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "mock_deps", "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": "test_get_dashboards_success", "type": "Function", "tier": "TRIVIAL", "start_line": 58, "end_line": 58, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_dashboards_not_found", "type": "Function", "tier": "TRIVIAL", "start_line": 67, "end_line": 67, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_dashboards_search", "type": "Function", "tier": "TRIVIAL", "start_line": 71, "end_line": 71, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_datasets_success", "type": "Function", "tier": "TRIVIAL", "start_line": 87, "end_line": 87, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_datasets_not_found", "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": "test_get_datasets_search", "type": "Function", "tier": "TRIVIAL", "start_line": 104, "end_line": 104, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_datasets_service_failure", "type": "Function", "tier": "TRIVIAL", "start_line": 116, "end_line": 116, "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": "test_task_logger", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 374, "tags": { "SEMANTICS": "test, task_logger, task_context, unit_test", "PURPOSE": "Unit tests for TaskLogger and TaskContext.", "LAYER": "Test", "TIER": "STANDARD" }, "relations": [ { "type": "TESTS", "target": "TaskLogger, TaskContext" } ], "children": [ { "name": "TestTaskLogger", "type": "Class", "tier": "STANDARD", "start_line": 15, "end_line": 219, "tags": { "PURPOSE": "Test suite for TaskLogger.", "TIER": "STANDARD" }, "relations": [], "children": [ { "name": "setup_method", "type": "Function", "tier": "STANDARD", "start_line": 20, "end_line": 32, "tags": { "PURPOSE": "Setup for each test method.", "PRE": "None.", "POST": "Mock add_log_fn created." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_init", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 43, "tags": { "PURPOSE": "Test TaskLogger initialization.", "PRE": "None.", "POST": "Logger instance created with correct attributes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_with_source", "type": "Function", "tier": "STANDARD", "start_line": 45, "end_line": 56, "tags": { "PURPOSE": "Test creating a sub-logger with different source.", "PRE": "Logger initialized.", "POST": "New logger created with different source but same task_id." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_debug", "type": "Function", "tier": "STANDARD", "start_line": 58, "end_line": 73, "tags": { "PURPOSE": "Test debug log level.", "PRE": "Logger initialized.", "POST": "add_log_fn called with DEBUG level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_info", "type": "Function", "tier": "STANDARD", "start_line": 75, "end_line": 90, "tags": { "PURPOSE": "Test info log level.", "PRE": "Logger initialized.", "POST": "add_log_fn called with INFO level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_warning", "type": "Function", "tier": "STANDARD", "start_line": 92, "end_line": 107, "tags": { "PURPOSE": "Test warning log level.", "PRE": "Logger initialized.", "POST": "add_log_fn called with WARNING level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_error", "type": "Function", "tier": "STANDARD", "start_line": 109, "end_line": 124, "tags": { "PURPOSE": "Test error log level.", "PRE": "Logger initialized.", "POST": "add_log_fn called with ERROR level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_error_with_metadata", "type": "Function", "tier": "STANDARD", "start_line": 126, "end_line": 142, "tags": { "PURPOSE": "Test error logging with metadata.", "PRE": "Logger initialized.", "POST": "add_log_fn called with ERROR level and metadata." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_progress", "type": "Function", "tier": "STANDARD", "start_line": 144, "end_line": 160, "tags": { "PURPOSE": "Test progress logging.", "PRE": "Logger initialized.", "POST": "add_log_fn called with INFO level and progress metadata." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_progress_clamping", "type": "Function", "tier": "STANDARD", "start_line": 162, "end_line": 179, "tags": { "PURPOSE": "Test progress value clamping (0-100).", "PRE": "Logger initialized.", "POST": "Progress values clamped to 0-100 range." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_source_override", "type": "Function", "tier": "STANDARD", "start_line": 181, "end_line": 196, "tags": { "PURPOSE": "Test overriding the default source.", "PRE": "Logger initialized.", "POST": "add_log_fn called with overridden source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_sub_logger_source_independence", "type": "Function", "tier": "STANDARD", "start_line": 198, "end_line": 217, "tags": { "PURPOSE": "Test sub-logger independence from parent.", "PRE": "Logger and sub-logger initialized.", "POST": "Sub-logger has different source, parent unchanged." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "TestTaskContext", "type": "Class", "tier": "STANDARD", "start_line": 221, "end_line": 373, "tags": { "PURPOSE": "Test suite for TaskContext.", "TIER": "STANDARD" }, "relations": [], "children": [ { "name": "setup_method", "type": "Function", "tier": "STANDARD", "start_line": 226, "end_line": 240, "tags": { "PURPOSE": "Setup for each test method.", "PRE": "None.", "POST": "Mock add_log_fn created." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_init", "type": "Function", "tier": "STANDARD", "start_line": 242, "end_line": 252, "tags": { "PURPOSE": "Test TaskContext initialization.", "PRE": "None.", "POST": "Context instance created with correct attributes." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_task_id_property", "type": "Function", "tier": "STANDARD", "start_line": 254, "end_line": 261, "tags": { "PURPOSE": "Test task_id property.", "PRE": "Context initialized.", "POST": "Returns correct task_id." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_logger_property", "type": "Function", "tier": "STANDARD", "start_line": 263, "end_line": 273, "tags": { "PURPOSE": "Test logger property.", "PRE": "Context initialized.", "POST": "Returns TaskLogger instance." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_params_property", "type": "Function", "tier": "STANDARD", "start_line": 275, "end_line": 282, "tags": { "PURPOSE": "Test params property.", "PRE": "Context initialized.", "POST": "Returns correct params dict." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_get_param", "type": "Function", "tier": "STANDARD", "start_line": 284, "end_line": 294, "tags": { "PURPOSE": "Test getting a specific parameter.", "PRE": "Context initialized with params.", "POST": "Returns parameter value or default." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_create_sub_context", "type": "Function", "tier": "STANDARD", "start_line": 296, "end_line": 308, "tags": { "PURPOSE": "Test creating a sub-context with different source.", "PRE": "Context initialized.", "POST": "New context created with different logger source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_context_logger_delegates_to_task_logger", "type": "Function", "tier": "STANDARD", "start_line": 310, "end_line": 327, "tags": { "PURPOSE": "Test context logger delegates to TaskLogger.", "PRE": "Context initialized.", "POST": "Logger calls are delegated to TaskLogger." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_sub_context_with_source", "type": "Function", "tier": "STANDARD", "start_line": 329, "end_line": 348, "tags": { "PURPOSE": "Test sub-context logger uses new source.", "PRE": "Context initialized.", "POST": "Sub-context logger uses new source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_multiple_sub_contexts", "type": "Function", "tier": "STANDARD", "start_line": 350, "end_line": 371, "tags": { "PURPOSE": "Test creating multiple sub-contexts.", "PRE": "Context initialized.", "POST": "Each sub-context has independent logger source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_belief_scope_logs_entry_action_exit_at_debug", "type": "Function", "tier": "STANDARD", "start_line": 12, "end_line": 41, "tags": { "PURPOSE": "Test that belief_scope generates [ID][Entry], [ID][Action], and [ID][Exit] logs at DEBUG level.", "PRE": "belief_scope is available. caplog fixture is used. Logger configured to DEBUG.", "POST": "Logs are verified to contain Entry, Action, and Exit tags at DEBUG level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_belief_scope_error_handling", "type": "Function", "tier": "STANDARD", "start_line": 44, "end_line": 73, "tags": { "PURPOSE": "Test that belief_scope logs Coherence:Failed on exception.", "PRE": "belief_scope is available. caplog fixture is used. Logger configured to DEBUG.", "POST": "Logs are verified to contain Coherence:Failed tag." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_belief_scope_success_coherence", "type": "Function", "tier": "STANDARD", "start_line": 76, "end_line": 102, "tags": { "PURPOSE": "Test that belief_scope logs Coherence:OK on success.", "PRE": "belief_scope is available. caplog fixture is used. Logger configured to DEBUG.", "POST": "Logs are verified to contain Coherence:OK tag." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_belief_scope_not_visible_at_info", "type": "Function", "tier": "STANDARD", "start_line": 105, "end_line": 124, "tags": { "PURPOSE": "Test that belief_scope Entry/Exit/Coherence logs are NOT visible at INFO level.", "PRE": "belief_scope is available. caplog fixture is used.", "POST": "Entry/Exit/Coherence logs are not captured at INFO level." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_task_log_level_default", "type": "Function", "tier": "STANDARD", "start_line": 127, "end_line": 135, "tags": { "PURPOSE": "Test that default task log level is INFO.", "PRE": "None.", "POST": "Default level is INFO." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_should_log_task_level", "type": "Function", "tier": "STANDARD", "start_line": 138, "end_line": 149, "tags": { "PURPOSE": "Test that should_log_task_level correctly filters log levels.", "PRE": "None.", "POST": "Filtering works correctly for all level combinations." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_configure_logger_task_log_level", "type": "Function", "tier": "STANDARD", "start_line": 152, "end_line": 176, "tags": { "PURPOSE": "Test that configure_logger updates task_log_level.", "PRE": "LoggingConfig is available.", "POST": "task_log_level is updated correctly." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_enable_belief_state_flag", "type": "Function", "tier": "STANDARD", "start_line": 179, "end_line": 213, "tags": { "PURPOSE": "Test that enable_belief_state flag controls belief_scope logging.", "PRE": "LoggingConfig is available. caplog fixture is used.", "POST": "belief_scope logs are controlled by the flag." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_auth", "type": "Module", "tier": "TRIVIAL", "start_line": 1, "end_line": 161, "tags": { "PURPOSE": "Auto-generated module for backend/tests/test_auth.py", "TIER": "TRIVIAL", "LAYER": "Unknown" }, "relations": [], "children": [ { "name": "db_session", "type": "Function", "tier": "TRIVIAL", "start_line": 26, "end_line": 26, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "auth_service", "type": "Function", "tier": "TRIVIAL", "start_line": 39, "end_line": 39, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "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": { "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, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_create_session", "type": "Function", "tier": "TRIVIAL", "start_line": 89, "end_line": 89, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_role_permission_association", "type": "Function", "tier": "TRIVIAL", "start_line": 107, "end_line": 107, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_user_role_association", "type": "Function", "tier": "TRIVIAL", "start_line": 126, "end_line": 126, "tags": { "PURPOSE": "Auto-detected function (orphan)", "TIER": "TRIVIAL" }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [], "score": 1.0 } }, { "name": "test_ad_group_mapping", "type": "Function", "tier": "TRIVIAL", "start_line": 147, "end_line": 147, "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": "test_log_persistence", "type": "Module", "tier": "STANDARD", "start_line": 1, "end_line": 395, "tags": { "SEMANTICS": "test, log, persistence, unit_test", "PURPOSE": "Unit tests for TaskLogPersistenceService.", "LAYER": "Test", "TIER": "STANDARD" }, "relations": [ { "type": "TESTS", "target": "TaskLogPersistenceService" } ], "children": [ { "name": "TestLogPersistence", "type": "Class", "tier": "STANDARD", "start_line": 17, "end_line": 394, "tags": { "PURPOSE": "Test suite for TaskLogPersistenceService.", "TIER": "STANDARD" }, "relations": [], "children": [ { "name": "setup_class", "type": "Function", "tier": "STANDARD", "start_line": 22, "end_line": 32, "tags": { "PURPOSE": "Setup test database and service instance.", "PRE": "None.", "POST": "In-memory database and service instance created." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 22 } ], "score": 0.7 } }, { "name": "teardown_class", "type": "Function", "tier": "STANDARD", "start_line": 34, "end_line": 42, "tags": { "PURPOSE": "Clean up test database.", "PRE": "None.", "POST": "Database disposed." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 34 } ], "score": 0.7 } }, { "name": "setup_method", "type": "Function", "tier": "STANDARD", "start_line": 44, "end_line": 51, "tags": { "PURPOSE": "Setup for each test method.", "PRE": "None.", "POST": "Fresh database session created." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 44 } ], "score": 0.7 } }, { "name": "teardown_method", "type": "Function", "tier": "STANDARD", "start_line": 53, "end_line": 60, "tags": { "PURPOSE": "Cleanup after each test method.", "PRE": "None.", "POST": "Session closed and rolled back." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 53 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 53 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 53 } ], "score": 0.7 } }, { "name": "test_add_log_single", "type": "Function", "tier": "STANDARD", "start_line": 62, "end_line": 85, "tags": { "PURPOSE": "Test adding a single log entry.", "PRE": "Service and session initialized.", "POST": "Log entry persisted to database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 62 } ], "score": 0.7 } }, { "name": "test_add_log_batch", "type": "Function", "tier": "STANDARD", "start_line": 87, "end_line": 126, "tags": { "PURPOSE": "Test adding multiple log entries in batch.", "PRE": "Service and session initialized.", "POST": "All log entries persisted to database." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 87 } ], "score": 0.7 } }, { "name": "test_get_logs_by_task_id", "type": "Function", "tier": "STANDARD", "start_line": 128, "end_line": 152, "tags": { "PURPOSE": "Test retrieving logs by task ID.", "PRE": "Service and session initialized, logs exist.", "POST": "Returns logs for the specified task." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 128 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 128 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 128 } ], "score": 0.7 } }, { "name": "test_get_logs_with_filters", "type": "Function", "tier": "STANDARD", "start_line": 154, "end_line": 199, "tags": { "PURPOSE": "Test retrieving logs with level and source filters.", "PRE": "Service and session initialized, logs exist.", "POST": "Returns filtered logs." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 154 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 154 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 154 } ], "score": 0.7 } }, { "name": "test_get_logs_with_pagination", "type": "Function", "tier": "STANDARD", "start_line": 201, "end_line": 227, "tags": { "PURPOSE": "Test retrieving logs with pagination.", "PRE": "Service and session initialized, logs exist.", "POST": "Returns paginated logs." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 201 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 201 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 201 } ], "score": 0.7 } }, { "name": "test_get_logs_with_search", "type": "Function", "tier": "STANDARD", "start_line": 229, "end_line": 270, "tags": { "PURPOSE": "Test retrieving logs with search query.", "PRE": "Service and session initialized, logs exist.", "POST": "Returns logs matching search query." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 229 } ], "score": 0.7 } }, { "name": "test_get_log_stats", "type": "Function", "tier": "STANDARD", "start_line": 272, "end_line": 320, "tags": { "PURPOSE": "Test retrieving log statistics.", "PRE": "Service and session initialized, logs exist.", "POST": "Returns statistics grouped by level and source." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 272 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 272 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 272 } ], "score": 0.7 } }, { "name": "test_get_log_sources", "type": "Function", "tier": "STANDARD", "start_line": 322, "end_line": 361, "tags": { "PURPOSE": "Test retrieving unique log sources.", "PRE": "Service and session initialized, logs exist.", "POST": "Returns list of unique sources." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 322 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 322 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 322 } ], "score": 0.7 } }, { "name": "test_delete_logs_by_task_id", "type": "Function", "tier": "STANDARD", "start_line": 363, "end_line": 392, "tags": { "PURPOSE": "Test deleting logs by task ID.", "PRE": "Service and session initialized, logs exist.", "POST": "Logs for the task are deleted." }, "relations": [], "children": [], "compliance": { "valid": true, "issues": [ { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 363 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 363 }, { "message": "Missing Belief State Logging: Function should use belief_scope (required for STANDARD tier)", "severity": "WARNING", "line_number": 363 } ], "score": 0.7 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ], "compliance": { "valid": true, "issues": [], "score": 1.0 } } ] }