fetch_ml/internal/queue
Jeremie Fraeys 6580917ba8
refactor: extract domain types and consolidate error system (Phases 1-2)
Phase 1: Extract Domain Types
=============================
- Create internal/domain/ package with canonical types:
  - domain/task.go: Task, Attempt structs
  - domain/tracking.go: TrackingConfig and MLflow/TensorBoard/Wandb configs
  - domain/dataset.go: DatasetSpec
  - domain/status.go: JobStatus constants
  - domain/errors.go: FailureClass system with classification functions
  - domain/doc.go: package documentation

- Update queue/task.go to re-export domain types (backward compatibility)
- Update TUI model/state.go to use domain types via type aliases
- Simplify TUI services: remove ~60 lines of conversion functions

Phase 2: Delete ErrorCategory System
====================================
- Remove deprecated ErrorCategory type and constants
- Remove TaskError struct and related functions
- Remove mapping functions: ClassifyError, IsRetryable, GetUserMessage, RetryDelay
- Update all queue implementations to use domain.FailureClass directly:
  - queue/metrics.go: RecordTaskFailure/Retry now take FailureClass
  - queue/queue.go: RetryTask uses domain.ClassifyFailure
  - queue/filesystem_queue.go: RetryTask and MoveToDeadLetterQueue updated
  - queue/sqlite_queue.go: RetryTask and MoveToDeadLetterQueue updated

Lines eliminated: ~190 lines of conversion and mapping code
Result: Single source of truth for domain types and error classification
2026-02-17 12:34:28 -05:00
..
backend.go feat(core): API, worker, queue, and manifest improvements 2026-02-12 12:05:17 -05:00
errors.go refactor: extract domain types and consolidate error system (Phases 1-2) 2026-02-17 12:34:28 -05:00
filesystem_queue.go refactor: extract domain types and consolidate error system (Phases 1-2) 2026-02-17 12:34:28 -05:00
metrics.go refactor: extract domain types and consolidate error system (Phases 1-2) 2026-02-17 12:34:28 -05:00
native_queue.go feat: add native library bridge and queue integration 2026-02-16 20:38:30 -05:00
native_queue_stub.go feat: add native library bridge and queue integration 2026-02-16 20:38:30 -05:00
queue.go refactor: extract domain types and consolidate error system (Phases 1-2) 2026-02-17 12:34:28 -05:00
sqlite_queue.go refactor: extract domain types and consolidate error system (Phases 1-2) 2026-02-17 12:34:28 -05:00
task.go refactor: extract domain types and consolidate error system (Phases 1-2) 2026-02-17 12:34:28 -05:00