--- id: NL-PLAN-F85F4593 type: plan title: Deliver event-driven audio state spec: NL-SPEC-FEE98E07 status: approved --- # Deliver event-driven audio state 1. **Media contract** Derive media energy only from playback state. Remove state descriptions claiming waveform or peak-history input. 2. **Audio service** Remove peak-monitor ownership, level properties, smoothing state, and periodic smoothing. Preserve PipeWire tracking, controls, stream rows, and privacy state. Derive activity from active links and mute state. 3. **State interfaces** Remove deleted amplitude concepts while preserving unrelated audio, media, privacy, and IPC behavior. 4. **Static verification** Confirm no stale peak-monitor, level, smoothing, or amplitude references remain. Run audio service checks. 5. **Runtime verification** Restart with a clean QML cache and inspect logs and IPC. Exercise volume, mute, device selection, and microphone privacy. 6. **Resource verification** Confirm no shell-owned peak stream exists, the idle sink can suspend, and idle CPU improves against the recorded baseline.