Braze Performance now reports real sends for scheduled-blast canvases
orbit_braze_performance was returning zeros for canvases that use a scheduled audience instead of an action-based trigger — even when the canvas had clearly sent. The headline metric now rolls up sent / delivered / opens / clicks / unsubscribes / bounces directly from the Braze step rollup, so a 582-send blast reads as 582, not 0. When a canvas has message steps but the API gives back nothing, you'll see a warning instead of a silent zero.
What shipped
•Headline metrics for canvases are now sent, delivered, unique opens (with open_rate), unique clicks (with click_rate), unsubscribes, and bounces (hard + soft, broken out). Conversions stay in the response but as a secondary metric, not the headline.
•Triggered canvases keep working exactly as before — the rollup is computed from the same step-level data Braze already returned, the field set is just richer.
•When a canvas has message steps but the Braze API returns no step metrics (the scheduled-audience case), the response now carries a warnings array explaining what happened. Worst-kind-of-bug protection: no more wrong-but-plausible zeros.
•total_entries is preserved in a debug block on each canvas so you can still see the underlying entry count — it's just no longer the headline.
•Performance summary now reports total_canvas_sends alongside total_canvas_entries so the aggregate row matches what an operator would expect to see.