docs: record Phase 9 rig qualification
This commit is contained in:
@@ -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
|
||||
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'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
|
||||
(`2c2b861`).** **Phase 9's PN correlation/xrun rig is implemented and live-qualified locally in
|
||||
PixelPass (`98bb78f`, hardened by `360d711`); the field matrix remains 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-22
|
||||
**Design of record:** [`screenshare-audio-exclusion-plan.md`](screenshare-audio-exclusion-plan.md) v3.8, round 11.
|
||||
**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.
|
||||
>
|
||||
> 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.
|
||||
> excluded correlation ≤ 0.20, and zero new xruns.
|
||||
>
|
||||
> **Controlled live qualification PASSED on 2026-08-22; harness hardening committed as PixelPass
|
||||
> `360d711`.** The first two safe attempts exposed assumptions in the new rig before they could
|
||||
> hide field variance: PipeWire returned five matching IDs for four requested node names, proving
|
||||
> again that `node.name` is not unique, and cold `parec` startup yielded too little audio for three
|
||||
> windows. The resolver now requires every requested name while monitoring all matching IDs, with
|
||||
> 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
|
||||
rows: excluded probe ≤ the declared rig criterion; **eligible control audio present**; original
|
||||
|
||||
@@ -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
|
||||
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.
|
||||
integrity checks, and the control/guarded/naive topology; live-discovered harness hardening is
|
||||
committed as `360d711`. The controlled live run passed on 2026-08-22: excluded-probe maxima were
|
||||
0.1356 control / 0.1340 guarded against a 0.20 limit; the naive positive-control minimum was
|
||||
0.5741 and eligible desktop minimum was 0.6429 against a 0.25 floor; every arm added zero xruns.
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user