- fix params lost in RabbitMQ transit by threading them through PublishTask/PublishTaskWithRetry
- fix UpdateTaskErrorInfo not setting status=FAILED on async_task
- fix UpdateAsyncTaskResultWithError silently skipping when no result row exists (UPDATE → upsert)
- sync task failure to async_task_result in updateTaskWithError
- remove taskType from AsyncTaskHandler.Execute interface; rename TaskHandler → AsyncTaskHandler
- replace CompositeHandler with direct factory.GetHandler dispatch via worker.dispatch()
- use constructors (NewXxxHandler) for handler registration instead of zero-value literals
- consolidate TaskType/TaskStatus/UnifiedTaskType into task/types.go; delete types_v2.go
- extract BaseTask/TaskParams into task/base_task.go
- add TopologyAnalysisHandler.Execute() with 5-phase BFS reachability
check between start/end component UUIDs; support CheckInService flag
to skip out-of-service nodes during traversal
- carry task params through RabbitMQ message (TaskQueueMessage.Params)
instead of re-querying DB in handler; update TaskHandler.Execute
interface and all handler signatures accordingly
- fix BuildMultiBranchTree UUIDFrom condition bug; return nodeMap for
O(1) lookup; add QueryTopologicByStartUUID for directed traversal
- add QueryBayByUUID/QueryBaysByUUIDs and
QueryComponentsInServiceByUUIDs (two-column select) to database layer
- add diagram.FindPath via LCA algorithm for tree path reconstruction
- move initTracerProvider to middleware.InitTracerProvider; add
OtelConfig struct to ModelRTConfig for endpoint configuration
- update topology analysis params to start/end_component_uuid +
check_in_service; remove dead topology init code
- Create task/types_v2.go with unified task type definitions and interfaces
* Add UnifiedTaskType and UnifiedTaskStatus constants
* Define Task:Params interface for parameter validation and serialization
* Define UnifiedTask interface as base for all task implementations
* Add BaseTask for common task functionality