diff --git a/docs/screenshare-audio-exclusion-impl-plan.md b/docs/screenshare-audio-exclusion-impl-plan.md index a0fc99b..c923602 100644 --- a/docs/screenshare-audio-exclusion-impl-plan.md +++ b/docs/screenshare-audio-exclusion-impl-plan.md @@ -24,8 +24,9 @@ built, validated and committed locally in PixelPass (`e027bc6`), completing Phas **Phase 7's public selector, AEC wiring and versioned capability response are built, validated and committed locally in PixelPass (`792f2bd`).** **Phase 8's PeerSpeak capability negotiation, picker/argv integration and causal status surface are built, validated and committed locally -(`2c2b861`).** Phase 9 remains unbuilt; nothing has been released. **Phase 9 is now the current -front and remains the ship gate.** +(`2c2b861`).** **Phase 9's PN correlation/xrun rig is implemented and non-live validated locally +in PixelPass (`98bb78f`); its controlled live run and the field matrix remain open, and nothing +has been released. Phase 9 is still the current front and ship gate.** **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. **Scope:** *ordering, gates and acceptance criteria only.* @@ -1005,8 +1006,27 @@ variant names (0d) do not block on it. v3.4 §9.2's rig upgrade is **owed before any exclusion claim is published**: two orthogonal PN/MLS probes, windowed per-channel normalised cross-correlation reporting max per-window -correlation, plus xrun telemetry. Until it exists the only defensible claim is the gross-leak -distinction, in v3.4 §9.2's exact wording. +correlation, plus xrun telemetry. Until it is live-qualified the only defensible claim is the +gross-leak distinction, in v3.4 §9.2's exact wording. + +> **Rig implementation checkpoint — PixelPass `98bb78f`, 2026-08-21.** Two pinned independent +> PN probes now drive the same production-path control/guarded/naive topology used by the Phase 6 +> qualification. The rig downsamples each captured stereo channel to chips, reports normalized +> maximum cyclic correlation for every non-overlapping 1,024-chip window, verifies the eligible +> probe in every window/channel, bounds the absent/excluded probe, and proves detectability with +> the naive positive control. It also snapshots `pw-top` ERR counters for the involved nodes, +> checks original playback and exact capture routes after recording, and retains the existing +> teardown/residue and audio-health gates. +> +> Thresholds are fixed in the ignored live test before any arm runs: present correlation ≥ 0.25, +> excluded correlation ≤ 0.20, and zero new xruns. The pure probe-orthogonality/phase test, all +> 355 non-live tests (14 live-only ignored), formatting, diff checks, and strict all-target Clippy +> pass. The live three-arm test has **not** fired: an already-running PeerSpeak instance owned an +> echo-cancel module, and the test correctly refused to mutate the shared audio graph. After +> PeerSpeak is closed, run it alone from PixelPass with +> `cargo test -j 1 host::audio_plan::tests::live_phase9_three_arm_pn_correlation_measurement -- --ignored --exact --nocapture --test-threads=1`; +> until that passes, the rig upgrade is not qualified and Phase 9 remains open. The +> two-machine/real-path matrix below remains open regardless of that result. **Every row gets a declared pass/fail threshold before the run, not after.** Baseline for all rows: excluded probe ≤ the declared rig criterion; **eligible control audio present**; original diff --git a/docs/screenshare-audio-exclusion-plan.md b/docs/screenshare-audio-exclusion-plan.md index fcb1b3c..fd1a089 100644 --- a/docs/screenshare-audio-exclusion-plan.md +++ b/docs/screenshare-audio-exclusion-plan.md @@ -1473,6 +1473,10 @@ parsed type and drive a persistent, mode-scoped explanation beside the live shar serialized validation passes 649 unit tests (7 live-only ignored), 20 integration tests (4 live-only screen-share gates ignored), strict all-target Clippy, formatting and diff checks. -**Phase 9 is current.** Still owed, unchanged: the §9.2 rig upgrade before any exclusion claim -is published, and **field-test §12** — nothing in this design has been tested over the real -GStreamer/AAC/network path or on two machines. +**Phase 9 is current.** PixelPass `98bb78f` implements the two-probe, windowed per-channel +normalized-correlation rig with involved-node xrun telemetry, fixed pre-run thresholds, route +integrity checks, and the control/guarded/naive topology. Its pure test, the full non-live suite, +and strict Clippy pass. The controlled live rig test has not fired because an already-running +PeerSpeak instance owned an echo-cancel module; it must pass alone after PeerSpeak is closed. +**Field-test §12 also remains owed** — nothing in this design has yet been tested over the real +GStreamer/AAC/network path or on two machines. No exclusion claim may be published yet.