Skip to content

[codex] Core hooks for station discovery, observer WS, and USB audio selection#1717

Draft
morozsm wants to merge 80 commits into
mainfrom
codex/mor-387-388-390-core-fixes
Draft

[codex] Core hooks for station discovery, observer WS, and USB audio selection#1717
morozsm wants to merge 80 commits into
mainfrom
codex/mor-387-388-390-core-fixes

Conversation

@morozsm

@morozsm morozsm commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Implements three core-side follow-ups from the Station/LAN workflow:

  • MOR-387: add generic DiscoveryResponder hooks for urls.fleet and top-level box_id in station discovery datagrams.
  • MOR-388: add per-connection observer/read-only mode for the core control WebSocket via query flags, with write/lifecycle commands rejected before throttling.
  • MOR-390: make core USB audio device selection robust for duplicate names by supporting indexes and stable hardware/platform IDs such as hw:3,0.

Notes

This stays inside open-core boundaries: no station/pro supervisor ownership or mapping logic is added. Station can now pass discovery metadata into core; Pro/station can request observer control-WS mode; callers can select the intended USB audio device without relying on ambiguous display names.

Verification

  • uv run pytest tests/test_discovery_responder.py tests/test_web_server.py tests/test_web_ptt_readonly.py tests/test_usb_audio_stub.py tests/test_audio_backend.py tests/test_macos_audio_uid.py -q --tb=short -> 283 passed, 2 skipped
  • uv run ruff check src/ tests/ -> passed, with pre-existing invalid # noqa warnings in tests/test_radio_poller_coverage.py
  • uv run pytest tests/ -q --tb=short -> 6851 passed, 126 skipped, 3 deselected, 11 xfailed, 1 xpassed

Linear

  • MOR-387
  • MOR-388
  • MOR-390

morozsm added 30 commits June 2, 2026 15:36
morozsm added 28 commits June 3, 2026 00:23
morozsm added a commit that referenced this pull request Jun 9, 2026
…,Y / platform_uid) (#1736)

Port of the MOR-390 core hooks from draft PR #1717 (original commit
8c5a5e7) onto current main. Explicit --rx/--tx-device selectors now
match by device index or platform UID (e.g. ALSA hw:3,0), with
case-insensitive/partial name fallback and actionable ambiguity errors.
Unblocks MOR-420.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant