Read path: messaging / notifications from incremental blobs

What

Switch the messaging / notification read path to reconstruct ui_chat_log from incremental blobs, gated behind dw_read_blobs_notifications. Not yet started.

All three call sites funnel through the shared helper Ai::DuoWorkflows::Checkpoint#ui_chat_log (checkpoint.rb:69), which reads the header only and has no blob fallback. Adding the reconstruct_from_blobs? branch there covers all three:

  • Ai::Messaging::CallbackWorker#extract_final_message (callback_worker.rb) — flow-completed Slack/email message
  • Ai::DuoWorkflows::ProgressReader#delta_since (progress_reader.rb) — live progress delta for messaging adapters
  • Emails::Ai::DuoWorkflows (mailers) — Duo Workflow result email

Gated by both the master kill switch duo_workflow_read_incremental_checkpoints and dw_read_blobs_notifications.

Feature flag

dw_read_blobs_notifications — rollout: #606990

MR

none yet

Status

Not started.