Conversation
|
Hardware attempt checkpoint (2026-08-24): the first meter-routing run stopped before any hardware write after successful model/auth/inventory/output-availability preflight because the current V8 capability-lab harness was not present exactly on Companion Page 2. The preflight had already classified 1436/1436 inventory rows, mapped snapshot/core/feedback coverage, and reported 22 AVAILABLE / 4 UNKNOWN outputs; no routing/mix action was pressed. The branch now adds a dedicated read-only Two bootstrap regression tests were added; expected current-HEAD local gate is now 175 tests. The previous 173/173 gate belongs to the prior hardware-test head and must not be reused as validation for the new bootstrap commits. |
|
Hardware checkpoint 2026-08-24 — first meter-routing exact-restore run completed without restore failure. Observed on exact previously audited/live-tested 0.1.16 Companion package:
The run also exposed two TestBench inefficiencies that must be fixed before another hardware pass:
Do not interpret 0.1.16 pair-action blocking as a production regression yet: canonical V8 pair topology for many pairs is REQUESTED_ORIGINAL / ZERO_ORIGINAL, not true two-member stereo routing. Production changes remain out of this TestBench PR until a separate action-policy audit proves they are warranted. No rerun is requested until the two TestBench issues above are software-gated. |
221df3e to
d7ea8b8
Compare
Scope
Stacked on
testbench/meter-feedback-closure.This PR adds a deliberately write-capable TestBench-only campaign to exercise Scarlett 18i20 (3rd Gen) mix/output meter paths efficiently with one existing PC Playback source, then restore every temporary hardware state from server-confirmed baselines.
It intentionally changes no production
src/code and no module version. Companion must remain on the exact previously audited/live-validated 0.1.16 package; do not install the package rebuilt by this branch.Why separate from the read-only meter PR
The first real read-only baseline proved two things:
-128, equal to the server meter floor, so closure must use numeric floor + real movement rather than a false/true transition;PR #1 keeps the collector/read-only evidence model. This stacked PR is the explicitly authorised temporary-routing campaign.
Safety / write contract
The launcher now performs a read-only preparation/audit first, before asking for any write permission.
If the current V8 capability-lab harness is not already present exactly on Companion Page 2, it offers the explicit
PAGE2_AUTOpreparation path. That path reuses the already-tested Companion single-page import mechanism: it replaces only Page 2, preserves audited Page 1, preserves the existing connection set, remaps to the existing Focusrite connection, performs no Focusrite hardware write, then re-runs the read-only preparation audit. If preparation remains uncertain, the hardware campaign stays blocked.Only after Page 2 preparation is confirmed does the launcher require both typed hardware confirmations:
ROUTE_METERSALL_ISOLATEDTemporary writes are restricted to already-tested Companion actions:
output_pair_sourcerouting.The campaign does not intentionally use:
<set>;Output pairs with
UNKNOWNorUNAVAILABLEavailability are omitted from the generated drive surface, and availability is checked again immediately before each pair drive.Playback source
The campaign does not invent a mixer-slot assignment. It scans the existing server-confirmed mixer-slot Source/Source Name variables, chooses an existing Playback source (preferring stereo), and stops before hardware writes if none exists.
Exact restore
finally; the restore error is retained and rethrown afterward with the original caught error preserved ascause;Source=Noneguards are used where exact-restorable/available;Source=Nonequarantine and hard-aborts;hardwareRestoredand Page 2 restore state.Temporary routing Page 2 import preserves Page 1, all other pages and the existing Focusrite connection, then restores the original audited capability-lab Page 2 used for the campaign.
Inputs
The eight analogue input meters are not faked by digital routing. After mixer/output routing is restored, the campaign only offers read-only
INPUT_SIGNALcaptures. Full input closure still requires real physical input signal (or a later separately guided physical loop).Tests / software gate
Routing safety tests cover:
ROUTE_METERS/ALL_ISOLATED;Canonical local Windows gate completed successfully on tested HEAD
44df548806d0f4998a9efa05998b67ab6e0d4e58:RUN OKThe rebuilt
focusrite-scarlett-18i20-0.1.16.tgzis only a gate artifact and must not be installed. Companion stays on the exact previously audited/live-validated 0.1.16 archive.Hardware campaign state
Software gate is complete. Next action is the explicitly confirmed meter-routing exact-restore hardware campaign on the tested HEAD above.
Before running:
Expected launcher flow:
PAGE2_AUTOsingle-page preparation and re-audit;ROUTE_METERS;ALL_ISOLATED;After the campaign, inspect both sanitized local reports and update
docs/CURRENT_HANDOFF.mdwith the measured meter coverage and exact restoration result. Any unconfirmed restore blocks all subsequent hardware work until reviewed.