docs: record audio exclusion status checkpoint

This commit is contained in:
2026-08-21 16:31:29 -04:00
parent 3d1f114fd8
commit 61960eb76f
2 changed files with 24 additions and 11 deletions
+17 -7
View File
@@ -11,9 +11,10 @@ committed locally** (`5d3da8b`). **S4, S5, 0d, round 11's bridge changes, and Ph
pure channel-planning prerequisite are built, validated, and committed locally in pixelpass pure channel-planning prerequisite are built, validated, and committed locally in pixelpass
(`781defc`).** The first bounded Phase 6 mutation slice is now built, validated and committed (`781defc`).** The first bounded Phase 6 mutation slice is now built, validated and committed
locally in PixelPass (`98cde2c`): the hidden production path creates, retains, revokes and locally in PixelPass (`98cde2c`): the hidden production path creates, retains, revokes and
crash-cleans exact-channel non-lingering fan-out links. Phase 6's status events and crash-cleans exact-channel non-lingering fan-out links. The four versioned Phase 6 status events
sink-replacement recovery, plus phases 79, are not built — nothing released to date changes are built, validated and committed locally in PixelPass (`5a65f50`). Sink-replacement recovery,
the feature's user-visible behaviour. **Phase 6 remains the current front.** plus phases 79, are not built — nothing released to date changes the feature's user-visible
behaviour. **Phase 6 remains the current front.**
**Date:** 2026-07-21 (v4); status line refreshed 2026-08-21 **Date:** 2026-07-21 (v4); status line refreshed 2026-08-21
**Design of record:** [`screenshare-audio-exclusion-plan.md`](screenshare-audio-exclusion-plan.md) v3.8, round 11. **Design of record:** [`screenshare-audio-exclusion-plan.md`](screenshare-audio-exclusion-plan.md) v3.8, round 11.
**Scope:** *ordering, gates and acceptance criteria only.* **Scope:** *ordering, gates and acceptance criteria only.*
@@ -688,10 +689,19 @@ ancestry becoming unsafe.
> without Rust destructors. The three serialized live observer tests and `pixelpass --doctor` > without Rust destructors. The three serialized live observer tests and `pixelpass --doctor`
> pass. > pass.
> >
> This does **not** complete Phase 6. Versioned causal status events and actual capture-sink > **Status-event slice, committed locally as `5a65f50`.** PixelPass now emits
> replacement/relink recovery remain, along with the unclosed failure-matrix rows. The public > exact version-1 `stream_unsupported`, `aec_failed`, `aec_revoked` and `foreign_aec_warning`
> mode selector remains Phase 7 and PeerSpeak integration remains Phase 8. The last committed > records. The PipeWire callback only enqueues owned records; a Tokio-side forwarder performs
> PixelPass base is `781defc`; this mutation slice is local commit `98cde2c` and remains unpushed. > JSON serialization and stdout I/O. Each cause has a direct emission test plus an exact JSON
> golden. Repeated graph ticks do not repeat a sticky failure, every leg of one foreign AEC
> collapses to one warning, an unindexed native AEC still counts as foreign, and `aec_revoked`
> is queued only after owned links are dropped. Full PixelPass: 330 passed, 0 failed, 10 ignored;
> strict all-target Clippy, both serialized Phase 6 live gates and `pixelpass --doctor` pass.
>
> This does **not** complete Phase 6. Actual capture-sink replacement/relink recovery and the
> remaining failure-matrix rows are still open. The public mode selector remains Phase 7 and
> PeerSpeak parsing/UI integration remains Phase 8. The last committed PixelPass checkpoint is
> `5a65f50`.
Failure ⇒ report the stream unsupported. **Never** fall back to the default monitor — and after Failure ⇒ report the stream unsupported. **Never** fall back to the default monitor — and after
0d that fallback is unconstructible in this mode, by either path. 0d that fallback is unconstructible in this mode, by either path.
+7 -4
View File
@@ -6,6 +6,8 @@ edge (§6.9), and the 2 s readiness budget is retained after repeated baseline,
and live-churn calibration. The targeted live dry-run partition passed. The first pure Phase 6 and live-churn calibration. The targeted live dry-run partition passed. The first pure Phase 6
channel-planning prerequisite is committed locally in PixelPass `781defc`; the first bounded channel-planning prerequisite is committed locally in PixelPass `781defc`; the first bounded
live fan-out mutation slice is built, validated and committed locally in PixelPass `98cde2c`. live fan-out mutation slice is built, validated and committed locally in PixelPass `98cde2c`.
The four versioned causal status events are built, validated and committed locally in PixelPass
`5a65f50`.
**Date:** 2026-08-21 (v1: 07-19 · v2: 07-20 · Option C 07-20 · v3.1 r4 · v3.2 r5 · v3.3 r6 · **Date:** 2026-08-21 (v1: 07-19 · v2: 07-20 · Option C 07-20 · v3.1 r4 · v3.2 r5 · v3.3 r6 ·
v3.4 r7 · v3.5 r8 · v3.6 r9 · v3.7 r10 · v3.8 r11 2026-08-21) v3.4 r7 · v3.5 r8 · v3.6 r9 · v3.7 r10 · v3.8 r11 2026-08-21)
**Origin:** Joe's suggestion — "whitelist all audio except audio coming from peerspeak." **Origin:** Joe's suggestion — "whitelist all audio except audio coming from peerspeak."
@@ -1380,11 +1382,12 @@ evidence. Phase 6's channel-aware pure planner is also committed in PixelPass `7
of that checkpoint, local commit `98cde2c` creates and retains serial-guarded of that checkpoint, local commit `98cde2c` creates and retains serial-guarded
non-lingering links through the hidden production path, requires all planned links to be non-lingering links through the hidden production path, requires all planned links to be
`ACTIVE`, revokes them when eligibility changes, and passed both normal-teardown and `SIGKILL` `ACTIVE`, revokes them when eligibility changes, and passed both normal-teardown and `SIGKILL`
cleanup gates. cleanup gates. Local commit `5a65f50` adds exact version-1 status records for stream link failure,
AEC validation failure, AEC revocation and foreign AEC detection; PipeWire callbacks enqueue them
for Tokio-side JSON emission.
1. **Continue Phase 6:** add the four versioned causal status events, complete the remaining 1. **Continue Phase 6:** implement actual capture-sink replacement/relink recovery through the
failure-matrix rows, and implement actual capture-sink replacement/relink recovery through real host path and complete the remaining failure-matrix rows.
the real host path.
2. Carry the revised row-9 partition forward: music-only and a different-device microphone 2. Carry the revised row-9 partition forward: music-only and a different-device microphone
stay eligible; same-device capture and a tainted-monitor capture are excluded. stay eligible; same-device capture and a tainted-monitor capture are excluded.
3. Preserve the new live mutation slice's ownership, serial-revalidation, fail-closed, 3. Preserve the new live mutation slice's ownership, serial-revalidation, fail-closed,