docs: close Phase 8 integration
This commit is contained in:
@@ -22,8 +22,10 @@ validated and committed locally in PixelPass (`7b11827`).** The deterministic Ph
|
||||
link-manager matrix is complete. **The production-path three-arm AEC leak qualification is
|
||||
built, validated and committed locally in PixelPass (`e027bc6`), completing Phase 6.**
|
||||
**Phase 7's public selector, AEC wiring and versioned capability response are built, validated
|
||||
and committed locally in PixelPass (`792f2bd`).** Phases 8–9 are not built — nothing released to
|
||||
date changes the feature's user-visible behaviour. **Phase 8 is now the current front.**
|
||||
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.**
|
||||
**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.*
|
||||
@@ -968,6 +970,35 @@ variant names (0d) do not block on it.
|
||||
- Capability-gated picker entry; wording per v3.4 §11.
|
||||
- Regression: existing `--app` / `--strict-audio` argv byte-identical to today.
|
||||
|
||||
> **Phase 8 — built, validated and committed locally as PeerSpeak `2c2b861` on 2026-08-21.**
|
||||
> The picker/core boundary now uses one typed selection for legacy desktop, desktop-excluding,
|
||||
> and strict per-app audio. `System audio except PeerSpeak` appears only when the exact resolved
|
||||
> PixelPass advertises `desktop_audio_exclusion`; the existing `All system audio` choice remains
|
||||
> alongside it with its echo warning. The machine-readable schema is primary, `--help` is only
|
||||
> the old-PixelPass strict-app fallback, and the two capability bits stay independent.
|
||||
>
|
||||
> Capability results carry the resolved executable path. A capability-gated share reuses the
|
||||
> picker probe only for that same path; a changed override or `$PATH` resolution is re-probed at
|
||||
> start and fails closed when the selected feature is absent. The new mode emits exactly
|
||||
> `--audio-mode=desktop-excluding` plus `--aec=off|pulse-module:<idx>`. The session-owned
|
||||
> `EchoCancelGuard` exposes its verified numeric module index without moving the guard out of the
|
||||
> load-bearing teardown object. Legacy desktop and per-app argv still delegate to the old builder
|
||||
> and are byte-identical.
|
||||
>
|
||||
> All four version-1 exclusion events parse into one shared status type that crosses the actual
|
||||
> host-notice channel into `UiEvent`; there is no duplicate matching enum. The UI retains an
|
||||
> explanatory warning even when a status races the share-start acknowledgement, displays it with
|
||||
> the live sharing badge, clears it on stop, and ignores late events for another mode. Exact
|
||||
> parser and causal tests cover `stream_unsupported`, `aec_failed`, `aec_revoked`, and
|
||||
> `foreign_aec_warning`.
|
||||
>
|
||||
> Final serialized validation (used after the parallel all-target link exhausted disk) passes:
|
||||
> 649 unit tests with 7 live-only ignored, 20 integration tests with 4 live-only screen-share
|
||||
> gates ignored, strict all-target Clippy, formatting, and `git diff --check`. The host-fault
|
||||
> integration target compiles with the typed command. PixelPass's completed 9.1 GiB target tree
|
||||
> was cleaned to recover disk; no source or Git state was removed. Phase 9 remains the explicit
|
||||
> rig-upgrade and two-machine field-test ship gate.
|
||||
|
||||
---
|
||||
|
||||
## 7. Phase 9 — rig upgrade and field tests 🚦 SHIP GATE
|
||||
|
||||
Reference in New Issue
Block a user