Skip to content

Long-running AI UX - streaming progress + background job + completion notifications

StageBuilding
StatusPartial
Design statusIn progress
Estimate2w (M-L)
ConfidenceMedium
LinearPIN-617 ↗ PIN-317 ↗ PIN-618 ↗
Linear statusDone · +1 backlog
DesignDesign ↗
Linear epicPlatform Foundation
ModuleSettings & Admin ↗

Priority: Medium

Scope

Long-running AI/import operations (large drawing imports, SharePoint + BuildingConnected sync) run as a server-side background job that survives the user navigating away, with a non-blocking "running in background" toast and an in-app notification on completion that redirects to the filtered results. Token-level streaming of Cara's own responses remains a deferred placeholder, scheduled only if user feedback flags response latency. (Source: PIN-617, PIN-618, PIN-317.)

Acceptance criteria

  • Import/sync job runs server-side and continues if the user leaves and returns
  • Non-blocking start toast: "running in background — you'll be notified when done"
  • In-app completion notification, reusing the existing notification fan-out
  • On completion, redirect to the source-filtered Bids/Projects list
  • Identical background-job UX for SharePoint and BuildingConnected imports
  • Job state is durable (survives a server restart), not held only in memory
  • Cara response streaming stays a deferred placeholder pending user-feedback signal on latency

Notes

White-label-critical; large files via Redis queue + notify-when-done. Spinner only now

Open question for Conor

-