Add SSE events that mark timing-phase boundaries (planning, execution, synthesis, evaluation) with a duration_ms on completion.
Naming collision to resolve first: aura-events already defines PhaseStarted/PhaseCompleted wire variants (orchestration.rs:212,220) under the aura.orchestrator.phase_started/phase_completed names. Those variants belong to the DAG-phase lifecycle and carry a phase_id and PhaseContinuation rather than durations. Nothing emits them on main as of 2026-07-17; #308 chose to hang its timing off iteration_complete instead of wiring them. Either finish those variants with timing semantics or pick new event names; do not assume the existing variants mean this is partially done.
Add SSE events that mark timing-phase boundaries (planning, execution, synthesis, evaluation) with a duration_ms on completion.
Naming collision to resolve first: aura-events already defines PhaseStarted/PhaseCompleted wire variants (orchestration.rs:212,220) under the aura.orchestrator.phase_started/phase_completed names. Those variants belong to the DAG-phase lifecycle and carry a phase_id and PhaseContinuation rather than durations. Nothing emits them on main as of 2026-07-17; #308 chose to hang its timing off iteration_complete instead of wiring them. Either finish those variants with timing semantics or pick new event names; do not assume the existing variants mean this is partially done.