Real Decision
Problem
Users need export progress, but worker internals should remain isolated from frontend communication.
Decision
Workers publish progress and completion events through Redis Pub/Sub while storing the latest state with TTL. Consumers can either subscribe in real time or retrieve the latest status without directly interacting with workers.