Repository navigation
Conversation
Port the bridge-local gain implementation from 408e45308570921eb471b8d4958c3eb623cfc150 onto upstream main. Validate finite CLI and API inputs and saturate extreme positive PCM gain without overflow. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Agent Review: BLOCKED 40fcec2 Relayed verdict from independent verifier gain-verifier: the new gain parameters precede existing positional label/max_retries/retry_base_delay arguments in WebServer.start_audio_bridge and WebServer.defer_audio_bridge_start (src/rigplane/web/server.py, lines 3388 and 3456). Legacy positional calls bind the label as input gain and can raise TypeError. Required fix: preserve the old positional order and add regression tests for both methods; run affected focused tests, scoped Ruff/format, web mypy, and obtain review/CI for the corrected head. Other reviewed gain, isolation, validation, and TX-gate behavior passed focused mutation checks. Correction is in progress; this is not a merge approval. |
Keep the existing web bridge startup argument order and make the new gain options keyword-only. Add regression tests for both method signatures and deferred configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Agent Review: PASS c285856 Relayed verdict from independent gain-delta-verifier, who did not author the implementation. The previous positional-compatibility finding is fixed: both web bridge startup methods preserve legacy arguments and make gain options keyword-only. In isolated scratch at this exact head, reinstating the old defective parameter order caused all three regression cases to fail; restored signatures passed, as did a nearby default change. The correction log reports 473 server/CLI tests passed. Earlier independent review confirmed the unchanged gain math, saturation, zero bypass, bridge-local isolation, HTTP validation, and TX-gate ordering through focused mutations. Reviewed worktree is clean. CI is separate and is not confirmed green: quick-v2-observe reports fork execution outside metadata observation; the review observer previously reported a missing trusted exact-head PASS. This code verdict is not a merge authorization. A maintainer must resolve required execution evidence and publish/accept a trusted verdict if this contributor comment is ineligible for the gate. PR body is being updated to reflect the failed/inconclusive CI snapshot. |
Scope
Add independent bridge-local gain in dB:
rigplane audio bridge --input-gain-db / --output-gain-db.rigplane web --bridge-input-gain-db / --bridge-output-gain-db.GET /api/v1/bridgeand partial updates throughPATCH /api/v1/bridge.This is one semantic unit despite exceeding the six-file soft threshold: the ten files wire the same bridge gain contract through PCM processing, both CLI entry points, the HTTP contract/routing/server, and their existing test files. No unrelated scope-demand or LAN recovery commits are included.
The implementation is ported from the contributor's local commit
408e45308570921eb471b8d4958c3eb623cfc150, onto upstream based786ffd9f. The port adds tests and corrections for finite-gain overflow and invalid numeric input handling. After independent review, the new gains were made keyword-only on the web startup methods to preserve existing positional arguments.Verification
Executed in the isolated contribution worktree, using uv's Python 3.11.16:
Evidence comes from the commands above, not the historical test counts in the issue. Bridge playback/capture tests use the existing fake audio backend. The tests exercise PCM gain/clipping, bridge-copy isolation, CLI defaults/forwarding, partial HTTP updates, and invalid values.
No dependencies or migration are required. CLI help, bridge parameter docstrings, and the stable HTTP endpoint contract describe the additions.
Required CI is not confirmed green. At head c285856, the commit status API reported
quick-v2-observefailed with "Unknown: fork execution is outside this metadata observation." The review observation reported a missing trusted standalone exact-head PASS. The relayed independent PASS comment has author association CONTRIBUTOR, not OWNER/MEMBER/COLLABORATOR; maintainers must resolve trusted review and required CI execution before merge. Metadata publisher success is not evidence that product tests ran. These statuses were established with the GitHub commit status and check-runs APIs.Frontend/full suites and physical-radio tests were not run locally. No live services were restarted. IC-9700 / ALSA loopback / Dire Wolf validation remains separate: start with output gain -10 dB, measure receive levels, and check decode performance and TX behavior.
Agent Review
Agent Review: PASS c285856e5ebce7f83b8074d0f830447f086de5ff, relayed independent verdict. Gate eligibility remains a maintainer action because this comment is from a CONTRIBUTOR.fixes, and checks to rerun.
Notes