id: NL-PLAN-F85F4593
type: plan
title: Deliver event-driven audio state
spec: NL-SPEC-FEE98E07
status: approved
Deliver event-driven audio state
Media contract
Derive media energy only from playback state.
Remove state descriptions claiming waveform or peak-history input.
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.
State interfaces
Remove deleted amplitude concepts while preserving unrelated audio, media, privacy, and IPC behavior.
Static verification
Confirm no stale peak-monitor, level, smoothing, or amplitude references remain.
Run audio service checks.
Runtime verification
Restart with a clean QML cache and inspect logs and IPC.
Exercise volume, mute, device selection, and microphone privacy.
Resource verification
Confirm no shell-owned peak stream exists, the idle sink can suspend, and idle CPU improves against the recorded baseline.
---
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.