docs: record Phase 9 rig qualification

This commit is contained in:
2026-08-22 00:40:23 -04:00
parent db8459fd03
commit 140e4e7f73
2 changed files with 30 additions and 17 deletions
+23 -12
View File
@@ -24,10 +24,10 @@ built, validated and committed locally in PixelPass (`e027bc6`), completing Phas
**Phase 7's public selector, AEC wiring and versioned capability response are built, validated **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, 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 picker/argv integration and causal status surface are built, validated and committed locally
(`2c2b861`).** **Phase 9's PN correlation/xrun rig is implemented and non-live validated locally (`2c2b861`).** **Phase 9's PN correlation/xrun rig is implemented and live-qualified locally in
in PixelPass (`98bb78f`); its controlled live run and the field matrix remain open, and nothing PixelPass (`98bb78f`, hardened by `360d711`); the field matrix remains open, and nothing has
has been released. Phase 9 is still the current front and ship gate.** been released. Phase 9 is still the current front and ship gate.**
**Date:** 2026-07-21 (v4); status line refreshed 2026-08-21 **Date:** 2026-07-21 (v4); status line refreshed 2026-08-22
**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.*
@@ -1019,14 +1019,25 @@ gross-leak distinction, in v3.4 §9.2's exact wording.
> teardown/residue and audio-health gates. > teardown/residue and audio-health gates.
> >
> Thresholds are fixed in the ignored live test before any arm runs: present correlation ≥ 0.25, > 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 > excluded correlation ≤ 0.20, and zero new xruns.
> 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 > **Controlled live qualification PASSED on 2026-08-22; harness hardening committed as PixelPass
> echo-cancel module, and the test correctly refused to mutate the shared audio graph. After > `360d711`.** The first two safe attempts exposed assumptions in the new rig before they could
> PeerSpeak is closed, run it alone from PixelPass with > hide field variance: PipeWire returned five matching IDs for four requested node names, proving
> `cargo test -j 1 host::audio_plan::tests::live_phase9_three_arm_pn_correlation_measurement -- --ignored --exact --nocapture --test-threads=1`; > again that `node.name` is not unique, and cold `parec` startup yielded too little audio for three
> until that passes, the rig upgrade is not qualified and Phase 9 remains open. The > windows. The resolver now requires every requested name while monitoring all matching IDs, with
> two-machine/real-path matrix below remains open regardless of that result. > a duplicate/missing-name regression test. Phase 9 alone records for six seconds from twelve-second
> probes; the proven Phase 6 recorder remains at three seconds and its behavior is unchanged.
>
> The final serialized run produced seven complete windows per channel in every arm. The absent
> remote-probe maximum was 0.1356 in control and 0.1340 when guarded, both below 0.20. The naive
> positive-control remote minimum was 0.5741, and the eligible desktop minimum across all arms was
> 0.6429, both above 0.25. Every arm added zero xruns. Original playback and exact capture routes
> remained intact, and the final module/sink/link/process/temp-file residue scan was empty. Full
> validation passes 356 non-live tests with 14 live-only ignored, strict all-target Clippy,
> formatting, diff checks, and `pixelpass --doctor`. Nix was unavailable, so the run used system
> Rust 1.96.1 with one build job. **The rig upgrade is qualified; the two-machine/real-path matrix
> below remains open and keeps the Phase 9 ship gate closed.**
**Every row gets a declared pass/fail threshold before the run, not after.** Baseline for all **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 rows: excluded probe ≤ the declared rig criterion; **eligible control audio present**; original
+7 -5
View File
@@ -1475,8 +1475,10 @@ live-only screen-share gates ignored), strict all-target Clippy, formatting and
**Phase 9 is current.** PixelPass `98bb78f` implements the two-probe, windowed per-channel **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 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, integrity checks, and the control/guarded/naive topology; live-discovered harness hardening is
and strict Clippy pass. The controlled live rig test has not fired because an already-running committed as `360d711`. The controlled live run passed on 2026-08-22: excluded-probe maxima were
PeerSpeak instance owned an echo-cancel module; it must pass alone after PeerSpeak is closed. 0.1356 control / 0.1340 guarded against a 0.20 limit; the naive positive-control minimum was
**Field-test §12 also remains owed** — nothing in this design has yet been tested over the real 0.5741 and eligible desktop minimum was 0.6429 against a 0.25 floor; every arm added zero xruns.
GStreamer/AAC/network path or on two machines. No exclusion claim may be published yet. The full non-live suite, strict Clippy, `pixelpass --doctor`, route checks, and final residue scan
also pass. **Field-test §12 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.