# Baseline of grandfathered docs/** (docfile, citation) pairs.
# Format: <doc file path><TAB><citation string>. Generated by:
#   .github/scripts/check-doc-citations.sh --regenerate
# This list may only shrink -- see check-doc-citations.sh for the
# full rationale, including why regeneration alone does not
# enforce that. Do not hand-edit additions.
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	_audio_recovery.py:155
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	_order_sensitive_radios.py:89-91
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	lan_stream.py:78
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:193
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:327
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:348-376
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:407-426
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:421-422
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:438-444
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:446-498
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:473-493
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:494-498
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:500-501
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:500-561
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:510-513
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:520-523
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:531-546
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:548
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:556-560
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:599
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:624-640
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:641-668
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:670-685
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	session.py:714-732
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	test_audio_recovery_session.py:44-50
docs/architecture/2026-06-22-audio-session-reconciler-PLAN.md	test_audio_session.py:234-245
docs/architecture/2026-06-22-audio-session-state-architecture.md	_audio_recovery.py:135-156
docs/architecture/2026-06-22-audio-session-state-architecture.md	_audio_recovery.py:39-58
docs/architecture/2026-06-22-audio-session-state-architecture.md	_control_phase.py:667
docs/architecture/2026-06-22-audio-session-state-architecture.md	audio/lan_stream.py:78
docs/architecture/2026-06-22-audio-session-state-architecture.md	audio/session.py:101
docs/architecture/2026-06-22-audio-session-state-architecture.md	lan_stream.py:523
docs/architecture/2026-06-22-audio-session-state-architecture.md	lan_stream.py:602-606
docs/architecture/2026-06-22-audio-session-state-architecture.md	lan_stream.py:622
docs/architecture/2026-06-22-audio-session-state-architecture.md	lan_stream.py:622-623
docs/architecture/2026-06-22-audio-session-state-architecture.md	lan_stream.py:645-651
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:13-16
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:138-148
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:327-346
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:348-376
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:362-367
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:407-426
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:421
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:473-493
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:476-483
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:503-514
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:520-523
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:624-640
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:648-659
docs/architecture/2026-06-22-audio-session-state-architecture.md	session.py:670-685
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	_civ_rx.py:515-516
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	_civ_rx.py:822-924
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	_control_phase.py:200-207
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	_control_phase.py:298-300
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	_control_phase.py:547-723
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	_control_phase.py:932-947
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	auth.py:292
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	auth.py:406-431
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	pyproject.toml:16
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	radio.py:1165
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	radio.py:1182-1184
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	radio.py:903-912
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	radio_session.py:341
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	station_runtime.py:663
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	test_mock_integration.py:26-84
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	tests/mock_server.py:143-786
docs/architecture/2026-06-22-radio-session-lifecycle-PLAN.md	transport.py:216
docs/architecture/2026-06-22-radio-session-lifecycle.md	_civ_rx.py:2680-2751
docs/architecture/2026-06-22-radio-session-lifecycle.md	_civ_rx.py:515-516
docs/architecture/2026-06-22-radio-session-lifecycle.md	_civ_rx.py:822-924
docs/architecture/2026-06-22-radio-session-lifecycle.md	_civ_rx.py:939
docs/architecture/2026-06-22-radio-session-lifecycle.md	_civ_rx.py:992-1017
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:113-141
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:122-127
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:128-141
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:143-456
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:258
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:298-300
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:494
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:538
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:547-723
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:676
docs/architecture/2026-06-22-radio-session-lifecycle.md	_control_phase.py:932-947
docs/architecture/2026-06-22-radio-session-lifecycle.md	auth.py:292
docs/architecture/2026-06-22-radio-session-lifecycle.md	auth.py:395
docs/architecture/2026-06-22-radio-session-lifecycle.md	auth.py:406-431
docs/architecture/2026-06-22-radio-session-lifecycle.md	discovery.py:675
docs/architecture/2026-06-22-radio-session-lifecycle.md	pyproject.toml:16
docs/architecture/2026-06-22-radio-session-lifecycle.md	radio.py:1165
docs/architecture/2026-06-22-radio-session-lifecycle.md	radio.py:1182-1184
docs/architecture/2026-06-22-radio-session-lifecycle.md	radio.py:903-912
docs/architecture/2026-06-22-radio-session-lifecycle.md	radio_reconnect.py:183
docs/architecture/2026-06-22-radio-session-lifecycle.md	radio_session.py:384
docs/architecture/2026-06-22-radio-session-lifecycle.md	station_runtime.py:1247
docs/architecture/2026-06-22-radio-session-lifecycle.md	station_runtime.py:663
docs/architecture/2026-06-22-radio-session-lifecycle.md	station_runtime.py:712
docs/architecture/2026-06-22-radio-session-lifecycle.md	station_runtime.py:730-756
docs/architecture/2026-06-22-radio-session-lifecycle.md	station_runtime.py:867-883
docs/architecture/2026-06-22-radio-session-lifecycle.md	test_mock_integration.py:26-84
docs/architecture/2026-06-22-radio-session-lifecycle.md	tests/mock_server.py:143-786
docs/architecture/2026-06-22-radio-session-lifecycle.md	transport.py:216
docs/architecture/2026-06-22-radio-session-lifecycle.md	transport.py:285
docs/architecture/2026-06-22-radio-session-lifecycle.md	transport.py:301
docs/architecture/2026-06-22-radio-session-lifecycle.md	web/handlers/control.py:739
docs/i18n/core-string-inventory.md	LcdDisplayModeControl.svelte:36
docs/i18n/core-string-inventory.md	StatusBar.svelte:41
docs/i18n/core-string-inventory.md	frontend/src/App.svelte:59
docs/i18n/core-string-inventory.md	frontend/src/components-v2/controls/AttenuatorControl.svelte:88
docs/i18n/core-string-inventory.md	frontend/src/components-v2/controls/CollapsiblePanel.svelte:184
docs/i18n/core-string-inventory.md	frontend/src/components-v2/controls/InstallPrompt.svelte:50
docs/i18n/core-string-inventory.md	frontend/src/components-v2/controls/PullToRefresh.svelte:92
docs/i18n/core-string-inventory.md	frontend/src/components-v2/controls/ThemePicker.svelte:64
docs/i18n/core-string-inventory.md	frontend/src/components-v2/controls/install-prompt-utils.ts:50
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/KeyboardHandler.svelte:120
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/LcdLayout.svelte:104
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/LeftSidebar.svelte:33
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/MobileNav.svelte:10
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/RadioLayout.svelte:320
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/RightSidebar.svelte:33
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/VfoHeader.svelte:172
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/mobile-chip-bar.svelte:17
docs/i18n/core-string-inventory.md	frontend/src/components-v2/layout/mobile-nav-utils.ts:10
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/AntennaPanel.svelte:20
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/AudioRoutingControl.svelte:46
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/DockMeterPanel.svelte:98
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/RxAudioPanel.svelte:53
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/agc-utils.ts:21
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/audio-utils.ts:13
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/dsp-utils.ts:18
docs/i18n/core-string-inventory.md	frontend/src/components-v2/panels/lcd/LcdContrastControl.svelte:46
docs/i18n/core-string-inventory.md	frontend/src/components/shared/Toast.svelte:27
docs/i18n/core-string-inventory.md	frontend/src/components/shared/Toast.svelte:35
docs/i18n/core-string-inventory.md	frontend/src/components/spectrum/BandPlanOverlay.svelte:243
docs/i18n/core-string-inventory.md	frontend/src/components/spectrum/EiBiBrowser.svelte:220
docs/i18n/core-string-inventory.md	frontend/src/components/spectrum/ScopeSettingsPopover.svelte:9
docs/i18n/core-string-inventory.md	frontend/src/components/spectrum/SpectrumPanel.svelte:378
docs/i18n/core-string-inventory.md	frontend/src/components/spectrum/SpectrumPanel.svelte:379
docs/i18n/core-string-inventory.md	frontend/src/components/spectrum/SpectrumToolbar.svelte:138
docs/i18n/core-string-inventory.md	frontend/src/components/spectrum/spectrum-toolbar-logic.ts:12
docs/i18n/core-string-inventory.md	frontend/src/lib/local-extensions/LocalExtensionsHost.svelte:189
docs/i18n/core-string-inventory.md	src/rigplane/web/server.py:788
docs/internals/legacy-state-writer-inventory.md	observations.py:142-162
docs/internals/legacy-state-writer-inventory.md	observations.py:90-99
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/components-v2/panels/RxAudioPanel.svelte:19-26
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/components-v2/wiring/command-bus.ts:536-547
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/components-v2/wiring/state-adapter.ts:440-460
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/audio-manager.ts:137-167
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/audio-manager.ts:79-85
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/constants.ts:13-23
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/constants.ts:3-10
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/rx-player.ts:107-110
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/rx-player.ts:35-52
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/rx-player.ts:68-78
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/rx-player.ts:87-89
docs/plans/2026-04-11-rx-audio-trace.md	frontend/src/lib/audio/rx-player.ts:94-102
docs/plans/2026-04-11-rx-audio-trace.md	src/icom_lan/types.py:191-200
docs/plans/2026-04-11-rx-audio-trace.md	src/icom_lan/web/handlers/audio.py:172-215
docs/plans/2026-04-11-rx-audio-trace.md	src/icom_lan/web/handlers/audio.py:177-187
docs/plans/2026-04-11-rx-audio-trace.md	src/icom_lan/web/handlers/audio.py:226-270
docs/plans/2026-04-11-rx-audio-trace.md	src/icom_lan/web/handlers/audio.py:482-499
docs/plans/2026-04-11-rx-audio-trace.md	src/icom_lan/web/runtime_helpers.py:17-58
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	RightSidebar.svelte:56-85
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	RxAudioPanel.svelte:8-23
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/App.svelte:24-52
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/layout/LcdLayout.svelte:27-38
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/layout/LcdLayout.svelte:47-67
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/layout/MobileRadioLayout.svelte:290-297
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/layout/RadioLayout.svelte:191-195
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/layout/StatusBar.svelte:47-78
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/layout/StatusBar.svelte:87-108
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/panels/MemoryPanel.svelte:56-80
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/panels/TxPanel.svelte:55-80
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/panels/audio-scope/AudioSpectrumPanel.svelte:18-27
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/panels/audio-scope/AudioSpectrumPanel.svelte:55-72
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/panels/lcd/AmberLcdDisplay.svelte:145-168
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/panels/lcd/AmberLcdDisplay.svelte:27-36
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/panels/lcd/AmberLcdDisplay.svelte:284
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components-v2/wiring/command-bus.ts:536-581
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components/spectrum/SpectrumPanel.svelte:287-298
docs/plans/2026-04-11-v2-lcd-runtime-audit.md	frontend/src/components/spectrum/SpectrumPanel.svelte:310-318
docs/plans/2026-04-18-receiver-activation.md	VfoPanel.svelte:141
docs/plans/2026-04-18-receiver-activation.md	command-bus.ts:872
docs/plans/2026-04-29-modularization-discovery.md	backends/icom7610/drivers/serial_civ_link.py:362
docs/plans/2026-04-29-modularization-discovery.md	icom_lan/__init__.py:245
docs/plans/2026-04-29-modularization-discovery.md	icom_lan/__init__.py:81
docs/plans/2026-04-29-modularization-discovery.md	icom_lan/audio/__init__.py:105
docs/plans/2026-04-29-modularization-discovery.md	icom_lan/audio/__init__.py:38
docs/plans/2026-04-29-modularization-discovery.md	icom_lan/rigctld/__init__.py:13
docs/plans/2026-04-29-modularization-discovery.md	profiles.py:266
docs/plans/2026-04-29-modularization-discovery.md	tests/test_naming_parity.py:121
docs/plans/2026-04-29-modularization-discovery.md	web/rtc.py:49
docs/plans/2026-04-29-modularization-discovery.md	web/server.py:920
docs/plans/2026-04-29-modularization-plan.md	__main__.py:5
docs/plans/2026-04-29-modularization-plan.md	profiles.py:266
docs/plans/2026-04-29-modularization-plan.md	serial_civ_link.py:362
docs/plans/2026-04-29-modularization-plan.md	src/icom_lan/__init__.py:41
docs/plans/2026-04-29-modularization-plan.md	src/icom_lan/sync.py:23
docs/plans/2026-04-29-modularization-plan.md	web/rtc.py:49
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	App.svelte:72
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	App.svelte:90-94
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	CHANGELOG.md:525-530
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	KeyboardHandler.svelte:65
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	cli.py:2902-2923
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	cli.py:2929-2933
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	components-v2/layout/KeyboardHandler.svelte:65
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	frontend/src/App.svelte:30
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	frontend/src/components-v2/layout/KeyboardHandler.svelte:65
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	frontend/src/lib/stores/ui-version.svelte.ts:22-44
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	src/icom_lan/cli.py:2867-2933
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	src/icom_lan/web/server.py:952
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	web/server.py:1325
docs/plans/2026-04-29-ui-v1-deprecation-audit.md	web/server.py:952
docs/plans/2026-05-08-audio-profile-policy-audit.md	references/wfview/include/audioconverter.h:118
docs/plans/2026-05-08-audio-profile-policy-audit.md	references/wfview/include/packettypes.h:322
docs/plans/2026-05-08-audio-profile-policy-audit.md	references/wfview/src/radio/icomudphandler.cpp:384
docs/plans/2026-05-08-audio-profile-policy-audit.md	references/wfview/src/settingswidget.cpp:106
docs/plans/2026-05-08-audio-profile-policy-audit.md	references/wfview/src/settingswidget.ui:732
docs/plans/2026-05-08-audio-profile-policy-audit.md	src/rigplane/core/types.py:179
docs/plans/2026-05-08-audio-profile-policy-audit.md	src/rigplane/core/types.py:191
docs/plans/2026-05-08-audio-profile-policy-audit.md	src/rigplane/core/types.py:54
docs/plans/2026-05-08-audio-profile-policy-audit.md	src/rigplane/profiles/rig_loader.py:741
docs/plans/2026-05-08-audio-profile-policy-audit.md	src/rigplane/runtime/_control_phase.py:198
docs/plans/2026-05-08-audio-profile-policy-audit.md	src/rigplane/runtime/_control_phase.py:540
docs/plans/2026-05-28-universal-validation-matrix.md	_validate.py:375
docs/plans/2026-05-28-universal-validation-matrix.md	_validate.py:538
docs/plans/2026-05-28-universal-validation-matrix.md	_validate.py:559
docs/plans/2026-05-28-universal-validation-matrix.md	hamlib_bridge.py:73
docs/plans/2026-05-28-universal-validation-matrix.md	hamlib_models.py:102
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:163
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:212
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:250
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:295
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:344
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:358
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:408
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:456
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:618
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:739
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:803
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:829
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:839
docs/plans/2026-05-28-universal-validation-matrix.md	hardware.py:952
docs/plans/2026-05-28-universal-validation-matrix.md	profiles/__init__.py:143
docs/plans/2026-05-28-universal-validation-matrix.md	profiles/__init__.py:180
docs/plans/2026-05-28-universal-validation-matrix.md	profiles/__init__.py:327
docs/plans/2026-05-28-universal-validation-matrix.md	radio.py:11
docs/plans/2026-05-28-universal-validation-matrix.md	radio.py:117
docs/plans/2026-05-28-universal-validation-matrix.md	radio.py:241
docs/plans/2026-05-28-universal-validation-matrix.md	radio.py:93
docs/plans/2026-05-28-universal-validation-matrix.md	rig_loader.py:47
docs/plans/2026-05-28-universal-validation-matrix.md	rig_loader.py:544
docs/plans/2026-05-28-universal-validation-matrix.md	rig_loader.py:77
docs/plans/2026-05-28-universal-validation-matrix.md	rig_loader.py:940
docs/plans/2026-05-28-universal-validation-matrix.md	rig_loader.py:953
docs/plans/2026-05-28-universal-validation-matrix.md	runner.py:58
docs/plans/2026-05-28-universal-validation-matrix.md	schema.py:196
docs/plans/2026-05-28-universal-validation-matrix.md	schema.py:278
docs/plans/2026-05-28-universal-validation-matrix.md	schema.py:44
docs/plans/2026-05-28-universal-validation-matrix.md	schema.py:487
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/backends/hamlib_models.py:44
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/backends/rigctld_client/radio.py:37
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/cli/_validate.py:352
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/cli/_validate.py:538
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/core/capabilities.py:171
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/hamlib_bridge.py:73
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/profiles/__init__.py:135
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/validation/hardware.py:120
docs/plans/2026-05-28-universal-validation-matrix.md	src/rigplane/validation/schema.py:196
docs/plans/2026-06-09-target-audio-architecture.md	_audio_recovery.py:93-136
docs/plans/2026-06-09-target-audio-architecture.md	_audio_runtime_mixin.py:144-154
docs/plans/2026-06-09-target-audio-architecture.md	_audio_runtime_mixin.py:412-429
docs/plans/2026-06-09-target-audio-architecture.md	_audio_runtime_mixin.py:79
docs/plans/2026-06-09-target-audio-architecture.md	_icom_serial_base.py:183-192
docs/plans/2026-06-09-target-audio-architecture.md	_icom_serial_base.py:380-434
docs/plans/2026-06-09-target-audio-architecture.md	_icom_serial_base.py:400-419
docs/plans/2026-06-09-target-audio-architecture.md	_icom_serial_base.py:421-426
docs/plans/2026-06-09-target-audio-architecture.md	_icom_serial_base.py:429-434
docs/plans/2026-06-09-target-audio-architecture.md	_icom_serial_base.py:460-467
docs/plans/2026-06-09-target-audio-architecture.md	audio-manager.ts:106-110
docs/plans/2026-06-09-target-audio-architecture.md	audio-manager.ts:29-38
docs/plans/2026-06-09-target-audio-architecture.md	audio/backend.py:427
docs/plans/2026-06-09-target-audio-architecture.md	audio/bridge.py:228
docs/plans/2026-06-09-target-audio-architecture.md	audio/bridge.py:93-103
docs/plans/2026-06-09-target-audio-architecture.md	audio/bus.py:292-295
docs/plans/2026-06-09-target-audio-architecture.md	audio/fft_scope.py:223
docs/plans/2026-06-09-target-audio-architecture.md	audio/lan_stream.py:556-587
docs/plans/2026-06-09-target-audio-architecture.md	audio/route.py:38-39
docs/plans/2026-06-09-target-audio-architecture.md	audio/usb_driver.py:792-863
docs/plans/2026-06-09-target-audio-architecture.md	backend.py:1277-1514
docs/plans/2026-06-09-target-audio-architecture.md	backend.py:227-236
docs/plans/2026-06-09-target-audio-architecture.md	backend.py:293-343
docs/plans/2026-06-09-target-audio-architecture.md	backend.py:346-371
docs/plans/2026-06-09-target-audio-architecture.md	backend.py:70-114
docs/plans/2026-06-09-target-audio-architecture.md	backends/factory.py:87-95
docs/plans/2026-06-09-target-audio-architecture.md	backends/yaesu_cat/radio.py:375-403
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:294-297
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:496-500
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:504-516
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:504-519
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:517
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:517-519
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:529-545
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:559
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:575-594
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:630-645
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:699-766
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:786-791
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:806-809
docs/plans/2026-06-09-target-audio-architecture.md	bridge.py:965-969
docs/plans/2026-06-09-target-audio-architecture.md	bus.py:106-113
docs/plans/2026-06-09-target-audio-architecture.md	bus.py:307-308
docs/plans/2026-06-09-target-audio-architecture.md	bus.py:347-356
docs/plans/2026-06-09-target-audio-architecture.md	bus.py:355-356
docs/plans/2026-06-09-target-audio-architecture.md	bus.py:358-374
docs/plans/2026-06-09-target-audio-architecture.md	cli/__init__.py:1245-1246
docs/plans/2026-06-09-target-audio-architecture.md	core/capabilities.py:172-173
docs/plans/2026-06-09-target-audio-architecture.md	core/radio_protocol.py:876
docs/plans/2026-06-09-target-audio-architecture.md	core/radio_protocol.py:876-966
docs/plans/2026-06-09-target-audio-architecture.md	core/types.py:186-218
docs/plans/2026-06-09-target-audio-architecture.md	core/types.py:54-71
docs/plans/2026-06-09-target-audio-architecture.md	core/types.py:58-71
docs/plans/2026-06-09-target-audio-architecture.md	dsp/tap_registry.py:38-93
docs/plans/2026-06-09-target-audio-architecture.md	fft_scope.py:223
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:1000-1009
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:1053-1080
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:124
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:129
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:152-164
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:170-188
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:200-215
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:358-362
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:386-419
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:394-395
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:44-55
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:463-470
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:493-499
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:506-524
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:517-524
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:556-566
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:58-64
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:716-733
docs/plans/2026-06-09-target-audio-architecture.md	handlers/audio.py:729-732
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:358
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:359
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:45-54
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:469-486
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:522
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:522-523
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:601-603
docs/plans/2026-06-09-target-audio-architecture.md	lan_stream.py:608-637
docs/plans/2026-06-09-target-audio-architecture.md	profiles/rig_loader.py:133
docs/plans/2026-06-09-target-audio-architecture.md	radio_poller.py:1184-1213
docs/plans/2026-06-09-target-audio-architecture.md	radio_poller.py:1184-1231
docs/plans/2026-06-09-target-audio-architecture.md	radio_poller.py:1236-1242
docs/plans/2026-06-09-target-audio-architecture.md	radio_poller.py:203-214
docs/plans/2026-06-09-target-audio-architecture.md	radio_protocol.py:831-873
docs/plans/2026-06-09-target-audio-architecture.md	radio_protocol.py:876-966
docs/plans/2026-06-09-target-audio-architecture.md	rig_loader.py:127-128
docs/plans/2026-06-09-target-audio-architecture.md	rigctld/handler.py:178
docs/plans/2026-06-09-target-audio-architecture.md	runtime/_audio_runtime_mixin.py:560-602
docs/plans/2026-06-09-target-audio-architecture.md	runtime/radio.py:1016-1021
docs/plans/2026-06-09-target-audio-architecture.md	runtime/radio.py:873-890
docs/plans/2026-06-09-target-audio-architecture.md	rx-player.ts:268-305
docs/plans/2026-06-09-target-audio-architecture.md	rx-player.ts:54-57
docs/plans/2026-06-09-target-audio-architecture.md	server.py:1033-1065
docs/plans/2026-06-09-target-audio-architecture.md	server.py:2355
docs/plans/2026-06-09-target-audio-architecture.md	server.py:4137-4176
docs/plans/2026-06-09-target-audio-architecture.md	server.py:742-744
docs/plans/2026-06-09-target-audio-architecture.md	server.py:753-757
docs/plans/2026-06-09-target-audio-architecture.md	server.py:766-772
docs/plans/2026-06-09-target-audio-architecture.md	src/rigplane/audio/bus.py:261
docs/plans/2026-06-09-target-audio-architecture.md	src/rigplane/core/radio_protocol.py:787-873
docs/plans/2026-06-09-target-audio-architecture.md	src/rigplane/core/transport.py:38-39
docs/plans/2026-06-09-target-audio-architecture.md	tap_registry.py:74-87
docs/plans/2026-06-09-target-audio-architecture.md	test_audio_transport_conformance.py:92-110
docs/plans/2026-06-09-target-audio-architecture.md	tests/contracts/test_audio_transport_conformance.py:159
docs/plans/2026-06-09-target-audio-architecture.md	tests/contracts/test_audio_transport_conformance.py:178-197
docs/plans/2026-06-09-target-audio-architecture.md	tests/contracts/test_audio_transport_conformance.py:60-73
docs/plans/2026-06-09-target-audio-architecture.md	tests/test_audio_bridge.py:303-358
docs/plans/2026-06-09-target-audio-architecture.md	tests/test_audio_bridge.py:303-477
docs/plans/2026-06-09-target-audio-architecture.md	usb_driver.py:449-484
docs/plans/2026-06-09-target-audio-architecture.md	usb_driver.py:507
docs/plans/2026-06-09-target-audio-architecture.md	usb_driver.py:58-59
docs/plans/2026-06-09-target-audio-architecture.md	usb_driver.py:855
docs/plans/2026-06-09-target-audio-architecture.md	usb_driver.py:911-1002
docs/plans/2026-06-09-target-audio-architecture.md	web/handlers/audio.py:83
docs/plans/2026-06-09-target-audio-architecture.md	web/protocol.py:38-39
docs/plans/2026-06-09-target-audio-architecture.md	web/protocol.py:82-124
docs/plans/2026-06-09-target-audio-architecture.md	web/server.py:1870-1929
docs/plans/2026-06-09-target-audio-architecture.md	web/server.py:745-772
docs/plans/2026-06-09-target-audio-architecture.md	web/server.py:753-757
docs/plans/2026-06-09-target-audio-architecture.md	webrtc_session.py:225-262
docs/plans/2026-06-09-target-audio-architecture.md	webrtc_session.py:3-5
docs/plans/2026-06-09-target-audio-architecture.md	webrtc_session.py:9-23
docs/plans/2026-06-09-target-audio-architecture.md	yaesu_cat/radio.py:216
docs/plans/2026-06-09-target-audio-architecture.md	yaesu_cat/radio.py:318-331
docs/plans/2026-06-09-target-audio-architecture.md	yaesu_cat/radio.py:394-401
docs/plans/2026-06-09-target-audio-architecture.md	yaesu_cat/radio.py:403
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	docs/plans/2026-04-11-parity-matrix.md:20-120
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	docs/plans/2026-04-12-target-frontend-architecture.md:1-52
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	docs/plans/2026-07-25-ui-composition-architecture-v3.md:88-139
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/App.svelte:22-72
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/App.svelte:22-98
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/App.svelte:79-98
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/LcdLayout.svelte:63-121
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/MobileRadioLayout.svelte:191-486
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/MobileRadioLayout.svelte:307-408
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/MobileRadioLayout.svelte:307-433
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/MobileRadioLayout.svelte:58-100
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/RadioLayout.svelte:215-404
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/RadioLayout.svelte:59-145
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/StatusBar.svelte:128-221
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/StatusBar.svelte:51-104
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/__tests__/MobileRadioLayout.component.svelte.test.ts:182-409
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/layout/__tests__/RadioLayout.test.ts:309-434
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/panels/TxPanel.svelte:56-118
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/panels/__tests__/RxAudioPanel.test.ts:43-198
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/panels/__tests__/TxPanel.test.ts:333-392
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/vfo/VfoPanel.svelte:41-43
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/vfo/vfo-ops-utils.ts:3-23
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/wiring/__tests__/state-adapter.test.ts:272-312
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/wiring/__tests__/vfo-wiring.test.ts:205-217
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/wiring/state-adapter.ts:1-16
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components-v2/wiring/state-adapter.ts:205-231
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components/shared/Toast.svelte:55-107
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/components/spectrum/SpectrumPanel.svelte:323-364
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/audio/__tests__/audio-manager.test.ts:103-287
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/audio/audio-manager.ts:204-358
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/audio/audio-manager.ts:56-188
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/media/media-session.ts:87-96
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/__tests__/frontend-runtime.test.ts:128-201
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/__tests__/scope-controller.test.ts:44-153
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/frontend-runtime.ts:128-187
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/frontend-runtime.ts:128-191
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/props/panel-props.ts:1-24
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/props/panel-props.ts:200-250
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/scope-controller.svelte.ts:26-34
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/scope-controller.svelte.ts:46-90
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/runtime/system-controller.ts:65-105
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/stores/__tests__/capabilities.test.ts:18-225
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/stores/capabilities.svelte.ts:14-155
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/stores/capabilities.svelte.ts:14-33
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/stores/capabilities.svelte.ts:39-41
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/stores/capabilities.svelte.ts:95-115
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/transport/__tests__/ws-client.test.ts:317-469
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/transport/http-client.ts:113-117
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/transport/ws-client.ts:137-169
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/transport/ws-client.ts:431-443
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/transport/ws-client.ts:630-656
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/lib/types/capabilities.ts:79-112
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/src/skins/registry.ts:31-80
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	frontend/tests/e2e/i18n/i18n-visual.spec.ts:260-318
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	src/rigplane/profiles/rig_loader.py:1008-1015
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	src/rigplane/profiles/rig_loader.py:43
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	src/rigplane/web/runtime_helpers.py:479-517
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	src/rigplane/web/server.py:2725-2817
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	src/rigplane/web/server.py:2756-2817
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	tests/test_web_capability_guards.py:244-288
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	tests/test_web_capability_guards.py:66-210
docs/plans/2026-07-25-ui-composition-discovery-and-parity.md	tests/test_web_runtime_helpers.py:101-175
docs/plans/2026-08-06-panel-order-workspace-boundary.md	components-v2/layout/LcdLayout.svelte:60
docs/plans/2026-08-06-panel-order-workspace-boundary.md	presentation/layouts/desktop-declarations.ts:36-111
docs/plans/2026-08-06-panel-order-workspace-boundary.md	skins/registry.ts:63
docs/plans/2026-08-06-settings-modal-boundary.md	RadioLayout.svelte:284
docs/plans/2026-08-06-settings-modal-boundary.md	RadioLayout.svelte:288
docs/plans/2026-08-06-settings-modal-boundary.md	RadioLayout.svelte:363
docs/plans/2026-08-06-settings-modal-boundary.md	RadioLayout.svelte:90
docs/plans/2026-08-06-settings-modal-boundary.md	RightSidebar.svelte:54
docs/plans/2026-08-06-settings-modal-boundary.md	SdrTestSkin.svelte:19
docs/plans/2026-08-06-settings-modal-boundary.md	VfoSurface.svelte:254
docs/plans/2026-08-06-settings-modal-boundary.md	VfoSurface.svelte:383-389
docs/plans/2026-08-06-settings-modal-boundary.md	components-v2/controls/BandSelector.svelte:37-100
docs/plans/2026-08-06-settings-modal-boundary.md	contract.ts:243
docs/plans/2026-08-06-settings-modal-boundary.md	contract.ts:289-297
docs/plans/2026-08-06-settings-modal-boundary.md	lib/runtime/adapters/radio-view-model-adapter.ts:668-692
docs/plans/2026-08-06-settings-modal-boundary.md	presentation/layouts/declarations.ts:21
docs/plans/2026-08-06-settings-modal-boundary.md	semantic-desktop-migration.component.test.ts:456
docs/plans/2026-08-06-settings-modal-boundary.md	semantic/radio-view-model.ts:489-496
docs/plans/2026-08-06-settings-modal-boundary.md	semantic/radio-view-model.ts:494-496
docs/plans/2026-08-20-transmit-authority.md	2026-06-09-target-audio-architecture.md:959-960
docs/plans/2026-08-20-transmit-authority.md	__init__.py:112
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:101
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:1027-1028
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:1491
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:1563-1566
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:1566
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:1656
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:2635-2637
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:2636-2650
docs/plans/2026-08-20-transmit-authority.md	_civ_rx.py:679
docs/plans/2026-08-20-transmit-authority.md	_dual_rx_runtime.py:575-582
docs/plans/2026-08-20-transmit-authority.md	_icom_serial_base.py:113
docs/plans/2026-08-20-transmit-authority.md	backends/_icom_serial_base.py:335-372
docs/plans/2026-08-20-transmit-authority.md	backends/_icom_serial_base.py:717
docs/plans/2026-08-20-transmit-authority.md	backends/rigctld_client/radio.py:655-666
docs/plans/2026-08-20-transmit-authority.md	backends/rigctld_client/radio.py:737-743
docs/plans/2026-08-20-transmit-authority.md	backends/yaesu_cat/observations.py:328-333
docs/plans/2026-08-20-transmit-authority.md	backends/yaesu_cat/poller.py:168-198
docs/plans/2026-08-20-transmit-authority.md	backends/yaesu_cat/poller.py:678-682
docs/plans/2026-08-20-transmit-authority.md	backends/yaesu_cat/poller.py:856
docs/plans/2026-08-20-transmit-authority.md	backends/yaesu_cat/radio.py:1001
docs/plans/2026-08-20-transmit-authority.md	backends/yaesu_cat/radio.py:1083-1090
docs/plans/2026-08-20-transmit-authority.md	backends/yaesu_cat/radio.py:2691-2704
docs/plans/2026-08-20-transmit-authority.md	cli/__init__.py:1925
docs/plans/2026-08-20-transmit-authority.md	cli/__init__.py:3090-3093
docs/plans/2026-08-20-transmit-authority.md	cli/__init__.py:517-528
docs/plans/2026-08-20-transmit-authority.md	cli/_validate.py:1059
docs/plans/2026-08-20-transmit-authority.md	command_service.py:172-198
docs/plans/2026-08-20-transmit-authority.md	command_service.py:228
docs/plans/2026-08-20-transmit-authority.md	command_service.py:241-249
docs/plans/2026-08-20-transmit-authority.md	commander.py:151-156
docs/plans/2026-08-20-transmit-authority.md	commands.svelte.ts:34
docs/plans/2026-08-20-transmit-authority.md	control.py:1315-1389
docs/plans/2026-08-20-transmit-authority.md	control.py:1573-1587
docs/plans/2026-08-20-transmit-authority.md	control.py:1685-1690
docs/plans/2026-08-20-transmit-authority.md	control.py:1718-1731
docs/plans/2026-08-20-transmit-authority.md	control.py:184
docs/plans/2026-08-20-transmit-authority.md	control.py:1937-1942
docs/plans/2026-08-20-transmit-authority.md	core/LAYER.md:51-52
docs/plans/2026-08-20-transmit-authority.md	core/LAYER.md:57-63
docs/plans/2026-08-20-transmit-authority.md	core/_state_cache.py:78-79
docs/plans/2026-08-20-transmit-authority.md	core/civ.py:76-82
docs/plans/2026-08-20-transmit-authority.md	core/radio_protocol.py:133
docs/plans/2026-08-20-transmit-authority.md	core/radio_protocol.py:1673
docs/plans/2026-08-20-transmit-authority.md	core/radio_protocol.py:1716
docs/plans/2026-08-20-transmit-authority.md	core/state_store.py:38-44
docs/plans/2026-08-20-transmit-authority.md	core/transport.py:391-399
docs/plans/2026-08-20-transmit-authority.md	core/tx_interlock_contract.py:14-105
docs/plans/2026-08-20-transmit-authority.md	core/tx_safety.py:222
docs/plans/2026-08-20-transmit-authority.md	core/tx_safety.py:25
docs/plans/2026-08-20-transmit-authority.md	core/tx_safety.py:32
docs/plans/2026-08-20-transmit-authority.md	docs/plans/2026-08-14-state-backed-command-lifecycle.md:40
docs/plans/2026-08-20-transmit-authority.md	hamlib_bridge.py:304
docs/plans/2026-08-20-transmit-authority.md	handler.py:1279
docs/plans/2026-08-20-transmit-authority.md	handler.py:1328-1345
docs/plans/2026-08-20-transmit-authority.md	handler.py:1740-1744
docs/plans/2026-08-20-transmit-authority.md	handler.py:1747-1766
docs/plans/2026-08-20-transmit-authority.md	handler.py:1771-1788
docs/plans/2026-08-20-transmit-authority.md	handler.py:1841-1854
docs/plans/2026-08-20-transmit-authority.md	handler.py:1991-2003
docs/plans/2026-08-20-transmit-authority.md	handler.py:2699-2704
docs/plans/2026-08-20-transmit-authority.md	handler.py:397-450
docs/plans/2026-08-20-transmit-authority.md	handler.py:462-469
docs/plans/2026-08-20-transmit-authority.md	handler.py:547-561
docs/plans/2026-08-20-transmit-authority.md	handler.py:694
docs/plans/2026-08-20-transmit-authority.md	handler.py:699
docs/plans/2026-08-20-transmit-authority.md	handler.py:770-832
docs/plans/2026-08-20-transmit-authority.md	handler.py:770-833
docs/plans/2026-08-20-transmit-authority.md	handler.py:780-787
docs/plans/2026-08-20-transmit-authority.md	handler.py:816-820
docs/plans/2026-08-20-transmit-authority.md	ic7300.toml:1018
docs/plans/2026-08-20-transmit-authority.md	ic7300.toml:655
docs/plans/2026-08-20-transmit-authority.md	icom.c:922
docs/plans/2026-08-20-transmit-authority.md	managed_radio_runtime.py:103-136
docs/plans/2026-08-20-transmit-authority.md	managed_tx_ingress.py:1-21
docs/plans/2026-08-20-transmit-authority.md	managed_tx_ingress.py:54
docs/plans/2026-08-20-transmit-authority.md	managed_tx_ingress.py:76-77
docs/plans/2026-08-20-transmit-authority.md	newcat.c:1948
docs/plans/2026-08-20-transmit-authority.md	observations.py:1097-1099
docs/plans/2026-08-20-transmit-authority.md	observations.py:212-218
docs/plans/2026-08-20-transmit-authority.md	open-core-policy.md:174-186
docs/plans/2026-08-20-transmit-authority.md	open-core-policy.md:178-180
docs/plans/2026-08-20-transmit-authority.md	poller.py:1099-1100
docs/plans/2026-08-20-transmit-authority.md	poller.py:856
docs/plans/2026-08-20-transmit-authority.md	poller.py:975
docs/plans/2026-08-20-transmit-authority.md	profiles/__init__.py:164-172
docs/plans/2026-08-20-transmit-authority.md	profiles/__init__.py:334-336
docs/plans/2026-08-20-transmit-authority.md	profiles/rig_loader.py:1682-1734
docs/plans/2026-08-20-transmit-authority.md	radio.py:2252
docs/plans/2026-08-20-transmit-authority.md	radio.py:2431
docs/plans/2026-08-20-transmit-authority.md	radio.py:994
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:1016-1052
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:1023-1027
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:1035-1052
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:219
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:2246
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:255-263
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:2839
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:3702-3711
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:718-722
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:723
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:818
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:824-876
docs/plans/2026-08-20-transmit-authority.md	radio_poller.py:995-1014
docs/plans/2026-08-20-transmit-authority.md	radio_protocol.py:1270
docs/plans/2026-08-20-transmit-authority.md	radio_state_snapshot.py:105
docs/plans/2026-08-20-transmit-authority.md	rig_loader.py:575
docs/plans/2026-08-20-transmit-authority.md	rigctld/handler.py:436
docs/plans/2026-08-20-transmit-authority.md	rigctld/handler.py:735-768
docs/plans/2026-08-20-transmit-authority.md	rigctld/routing.py:236
docs/plans/2026-08-20-transmit-authority.md	rigctld/routing.py:417-419
docs/plans/2026-08-20-transmit-authority.md	rigctld/server.py:1010-1018
docs/plans/2026-08-20-transmit-authority.md	rigctld/server.py:328
docs/plans/2026-08-20-transmit-authority.md	rigctld/server.py:476
docs/plans/2026-08-20-transmit-authority.md	rigctld/server.py:521
docs/plans/2026-08-20-transmit-authority.md	rigctld/server.py:573-594
docs/plans/2026-08-20-transmit-authority.md	rigctld_client/radio.py:199-235
docs/plans/2026-08-20-transmit-authority.md	rigctld_client/radio.py:319-362
docs/plans/2026-08-20-transmit-authority.md	rigctld_client/radio.py:557
docs/plans/2026-08-20-transmit-authority.md	rigctld_client/radio.py:602-604
docs/plans/2026-08-20-transmit-authority.md	rigs/ftx1.toml:547
docs/plans/2026-08-20-transmit-authority.md	rigs/ic7300.toml:1018
docs/plans/2026-08-20-transmit-authority.md	rigs/ic7300.toml:16
docs/plans/2026-08-20-transmit-authority.md	rigs/ic7300.toml:1613
docs/plans/2026-08-20-transmit-authority.md	rigs/ic7300.toml:50
docs/plans/2026-08-20-transmit-authority.md	rigs/ic7300.toml:808
docs/plans/2026-08-20-transmit-authority.md	runtime/_audio_runtime_mixin.py:99
docs/plans/2026-08-20-transmit-authority.md	runtime/_civ_rx.py:2383-2390
docs/plans/2026-08-20-transmit-authority.md	runtime/_dual_rx_runtime.py:309-326
docs/plans/2026-08-20-transmit-authority.md	runtime/_dual_rx_runtime.py:328
docs/plans/2026-08-20-transmit-authority.md	runtime/_scope_runtime.py:124
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:1959
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:3674-3731
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:3945
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:3948-3954
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:4629-4653
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:4942-4955
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:4958
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:5022-5028
docs/plans/2026-08-20-transmit-authority.md	runtime/radio.py:910
docs/plans/2026-08-20-transmit-authority.md	runtime/radio_state_snapshot.py:105
docs/plans/2026-08-20-transmit-authority.md	runtime/sync.py:49-90
docs/plans/2026-08-20-transmit-authority.md	runtime/sync.py:92-101
docs/plans/2026-08-20-transmit-authority.md	runtime/tx_interlock.py:366-367
docs/plans/2026-08-20-transmit-authority.md	runtime/tx_interlock.py:80
docs/plans/2026-08-20-transmit-authority.md	semantic/rx-tx-surface.ts:85-93
docs/plans/2026-08-20-transmit-authority.md	server.py:394-396
docs/plans/2026-08-20-transmit-authority.md	server.py:778-786
docs/plans/2026-08-20-transmit-authority.md	src/rigplane/__init__.py:112
docs/plans/2026-08-20-transmit-authority.md	sync.py:37
docs/plans/2026-08-20-transmit-authority.md	sync.py:375-397
docs/plans/2026-08-20-transmit-authority.md	sync.py:49-90
docs/plans/2026-08-20-transmit-authority.md	sync.py:92-101
docs/plans/2026-08-20-transmit-authority.md	test_audio_transport_conformance.py:65-81
docs/plans/2026-08-20-transmit-authority.md	tests/test_rigctld_managed_tx.py:223-244
docs/plans/2026-08-20-transmit-authority.md	tests/test_tx_safety_diagnostics.py:20
docs/plans/2026-08-20-transmit-authority.md	transport.py:71
docs/plans/2026-08-20-transmit-authority.md	tx_interlock_contract.py:73
docs/plans/2026-08-20-transmit-authority.md	tx_safety.py:22-24
docs/plans/2026-08-20-transmit-authority.md	tx_safety_view.py:1-39
docs/plans/2026-08-20-transmit-authority.md	web/handlers/audio.py:1057
docs/plans/2026-08-20-transmit-authority.md	web/handlers/audio.py:135-152
docs/plans/2026-08-20-transmit-authority.md	web/radio_poller.py:2066
docs/plans/2026-08-20-transmit-authority.md	web/radio_poller.py:2528-2532
docs/plans/2026-08-20-transmit-authority.md	web/radio_poller.py:684
docs/plans/2026-08-20-transmit-authority.md	web/radio_poller.py:729-746
docs/plans/2026-08-20-transmit-authority.md	web/radio_poller.py:748-765
docs/plans/2026-08-20-transmit-authority.md	web/radio_poller.py:818
docs/plans/2026-08-20-transmit-authority.md	web/server.py:2126-2141
docs/plans/2026-08-20-transmit-authority.md	web/server.py:2161-2187
docs/plans/2026-08-20-transmit-authority.md	web/server.py:398-422
docs/plans/2026-08-20-transmit-authority.md	web/server.py:411
docs/plans/2026-08-20-transmit-authority.md	web/web_startup.py:126-128
docs/plans/2026-08-20-transmit-authority.md	web_startup.py:105-193
docs/plans/2026-08-20-transmit-authority.md	web_startup.py:126-128
docs/plans/2026-08-20-transmit-authority.md	ws-client.ts:599-602
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/poller.py:1018
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/poller.py:658-659
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/poller.py:856
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/poller.py:965-1132
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/radio.py:148
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/radio.py:2252
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/radio.py:272-280
docs/plans/2026-08-20-transmit-authority.md	yaesu_cat/transport.py:71
docs/plans/archive/2026-04-19-lcd-twin-skins.md	registry.ts:37
docs/plans/discovery-artifacts/external-usage.md	tests/test_audio_bridge.py:12
docs/plans/discovery-artifacts/external-usage.md	tests/test_audio_bridge.py:13
docs/plans/discovery-artifacts/external-usage.md	tests/test_audio_codecs.py:5
docs/plans/discovery-artifacts/external-usage.md	tests/test_audio_transcoder.py:9
docs/plans/discovery-artifacts/external-usage.md	tests/test_audio_transcoder_coverage.py:21
docs/plans/discovery-artifacts/external-usage.md	tests/test_bounded_queue.py:9
docs/plans/discovery-artifacts/external-usage.md	tests/test_bsr_band_switching.py:42
docs/plans/discovery-artifacts/external-usage.md	tests/test_bsr_band_switching.py:49
docs/plans/discovery-artifacts/external-usage.md	tests/test_bsr_band_switching.py:58
docs/plans/discovery-artifacts/external-usage.md	tests/test_civ_rx_coverage.py:41
docs/plans/discovery-artifacts/external-usage.md	tests/test_civ_rx_mixin_host.py:14
docs/plans/discovery-artifacts/external-usage.md	tests/test_delta_encoder.py:7
docs/plans/discovery-artifacts/external-usage.md	tests/test_docs_runtime_sync.py:11
docs/plans/discovery-artifacts/external-usage.md	tests/test_dsp_filter_family.py:20
docs/plans/discovery-artifacts/external-usage.md	tests/test_lifecycle_diagnostics.py:14
docs/plans/discovery-artifacts/external-usage.md	tests/test_naming_parity.py:121
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:122
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1282
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1334
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1529
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1553
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1582
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:161
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1611
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1637
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1660
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:1681
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:171
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:180
docs/plans/discovery-artifacts/external-usage.md	tests/test_radio_coverage.py:204
docs/plans/discovery-artifacts/external-usage.md	tests/test_reconnect.py:8
docs/plans/discovery-artifacts/external-usage.md	tests/test_rig_ic7300.py:12
docs/plans/discovery-artifacts/external-usage.md	tests/test_state_queries.py:9
docs/plans/discovery-artifacts/external-usage.md	tests/test_sync_coverage.py:9
docs/plans/discovery-artifacts/external-usage.md	tests/test_tx_band_edge.py:16
docs/plans/discovery-artifacts/external-usage.md	tests/test_tx_band_edge.py:194
docs/plans/discovery-artifacts/external-usage.md	tests/test_tx_band_edge.py:218
docs/plans/discovery-artifacts/external-usage.md	tests/test_tx_band_edge.py:236
docs/plans/discovery-artifacts/external-usage.md	tests/test_web_audio_streaming_profile.py:18
docs/plans/discovery-artifacts/external-usage.md	tests/test_yaesu_cat_poller.py:872
docs/plans/discovery-artifacts/external-usage.md	tests/test_yaesu_cat_poller.py:886
docs/plans/discovery-artifacts/external-usage.md	tests/test_yaesu_cat_poller.py:905
docs/plans/discovery-artifacts/external-usage.md	tests/test_yaesu_cat_poller.py:923
docs/plans/discovery-artifacts/test-inventory.md	tests/conftest.py:10
docs/plans/discovery-artifacts/test-inventory.md	tests/conftest.py:11
docs/plans/discovery-artifacts/test-inventory.md	tests/integration/conftest.py:32
docs/plans/issue-drafts/05-profiles.md	profiles.py:266
docs/plans/issue-drafts/05-profiles.md	src/rigplane/profiles.py:266
docs/validation/cat-audits/ic7610.md	runtime/_scope_runtime.py:410-421
docs/validation/cat-audits/tx500.md	discovery.py:540
docs/validation/cat-audits/tx500.md	discovery.py:558
docs/validation/cat-audits/tx500.md	examples/lab599_tx500.toml:117-123
docs/validation/cat-audits/tx500.md	factory.py:100-107
docs/validation/cat-audits/tx500.md	test_backend_factory.py:143
docs/validation/cat-audits/tx500.md	tests/test_backend_factory.py:143
docs/validation/cat-audits/x6200.md	backends/factory.py:85
docs/validation/desktop-v2-v3-parity.md	AntennaSurface.svelte:169
docs/validation/desktop-v2-v3-parity.md	AntennaSurface.svelte:181
docs/validation/desktop-v2-v3-parity.md	AntennaSurface.svelte:75-77
docs/validation/desktop-v2-v3-parity.md	AntennaSurface.test.ts:221
docs/validation/desktop-v2-v3-parity.md	AntennaSurface.test.ts:303
docs/validation/desktop-v2-v3-parity.md	BandSelector.svelte:18-19
docs/validation/desktop-v2-v3-parity.md	BandSurface.svelte:102-108
docs/validation/desktop-v2-v3-parity.md	BandSurface.svelte:187
docs/validation/desktop-v2-v3-parity.md	BandSurface.test.ts:334
docs/validation/desktop-v2-v3-parity.md	BarGauge.peakhold.svelte.test.ts:57
docs/validation/desktop-v2-v3-parity.md	BarGauge.svelte:120
docs/validation/desktop-v2-v3-parity.md	BarGauge.svelte:63
docs/validation/desktop-v2-v3-parity.md	CwKeyerSurface.svelte:171
docs/validation/desktop-v2-v3-parity.md	CwKeyerSurface.svelte:181
docs/validation/desktop-v2-v3-parity.md	CwKeyerSurface.test.ts:345
docs/validation/desktop-v2-v3-parity.md	DspSurface.svelte:165
docs/validation/desktop-v2-v3-parity.md	DualVfoDisplay.svelte:54
docs/validation/desktop-v2-v3-parity.md	FilterSurface.svelte:114
docs/validation/desktop-v2-v3-parity.md	FilterSurface.svelte:129
docs/validation/desktop-v2-v3-parity.md	FilterSurface.test.ts:188
docs/validation/desktop-v2-v3-parity.md	LcdLayout.svelte:55
docs/validation/desktop-v2-v3-parity.md	LeftSidebar.svelte:107-113
docs/validation/desktop-v2-v3-parity.md	LeftSidebar.svelte:52
docs/validation/desktop-v2-v3-parity.md	MetersDockPanel.isolated.test.ts:433
docs/validation/desktop-v2-v3-parity.md	MetersDockPanel.svelte:234-235
docs/validation/desktop-v2-v3-parity.md	MetersDockPanel.svelte:385-392
docs/validation/desktop-v2-v3-parity.md	MetersDockPanel.svelte:422
docs/validation/desktop-v2-v3-parity.md	MetersDockPanel.svelte:75
docs/validation/desktop-v2-v3-parity.md	MetersSurface.svelte:112
docs/validation/desktop-v2-v3-parity.md	MetersSurface.svelte:132
docs/validation/desktop-v2-v3-parity.md	MetersSurface.svelte:145-148
docs/validation/desktop-v2-v3-parity.md	MetersSurface.svelte:161
docs/validation/desktop-v2-v3-parity.md	MetersSurface.svelte:57-64
docs/validation/desktop-v2-v3-parity.md	MetersSurface.svelte:75-82
docs/validation/desktop-v2-v3-parity.md	MobileRadioLayout.svelte:493
docs/validation/desktop-v2-v3-parity.md	ModePanel.svelte:103
docs/validation/desktop-v2-v3-parity.md	ModePanel.svelte:107
docs/validation/desktop-v2-v3-parity.md	RadioLayout.svelte:140-142
docs/validation/desktop-v2-v3-parity.md	RadioLayout.svelte:311
docs/validation/desktop-v2-v3-parity.md	RadioLayout.svelte:314-316
docs/validation/desktop-v2-v3-parity.md	RadioLayout.svelte:425-434
docs/validation/desktop-v2-v3-parity.md	RadioLayout.svelte:509-511
docs/validation/desktop-v2-v3-parity.md	RadioLayout.svelte:90
docs/validation/desktop-v2-v3-parity.md	ReferenceLayout.svelte:32
docs/validation/desktop-v2-v3-parity.md	RfFrontEndSurface.svelte:130
docs/validation/desktop-v2-v3-parity.md	RightSidebar.svelte:38
docs/validation/desktop-v2-v3-parity.md	RightSidebar.svelte:51
docs/validation/desktop-v2-v3-parity.md	RightSidebar.svelte:75
docs/validation/desktop-v2-v3-parity.md	RitXitScanSurface.svelte:173
docs/validation/desktop-v2-v3-parity.md	RitXitScanSurface.svelte:39-43
docs/validation/desktop-v2-v3-parity.md	RitXitScanSurface.test.ts:376-393
docs/validation/desktop-v2-v3-parity.md	RxAudioPanel.svelte:53-54
docs/validation/desktop-v2-v3-parity.md	RxAudioPanel.svelte:54
docs/validation/desktop-v2-v3-parity.md	RxAudioSurface.svelte:123
docs/validation/desktop-v2-v3-parity.md	RxAudioSurface.svelte:124
docs/validation/desktop-v2-v3-parity.md	RxAudioSurface.svelte:188
docs/validation/desktop-v2-v3-parity.md	RxAudioSurface.svelte:73
docs/validation/desktop-v2-v3-parity.md	RxAudioSurface.test.ts:197
docs/validation/desktop-v2-v3-parity.md	ScanPanel.svelte:17-23
docs/validation/desktop-v2-v3-parity.md	ScopeControlsSurface.svelte:120
docs/validation/desktop-v2-v3-parity.md	ScopeControlsSurface.svelte:29
docs/validation/desktop-v2-v3-parity.md	ScopeControlsSurface.svelte:40
docs/validation/desktop-v2-v3-parity.md	ScopeDisplaySurface.svelte:44-55
docs/validation/desktop-v2-v3-parity.md	SemanticRadioSurfaces.svelte:129-136
docs/validation/desktop-v2-v3-parity.md	SemanticRadioSurfaces.svelte:335
docs/validation/desktop-v2-v3-parity.md	SemanticRadioSurfaces.svelte:416-419
docs/validation/desktop-v2-v3-parity.md	SemanticRadioSurfaces.svelte:652-660
docs/validation/desktop-v2-v3-parity.md	SpectrumToolbar.svelte:40-73
docs/validation/desktop-v2-v3-parity.md	StatusBar.svelte:271
docs/validation/desktop-v2-v3-parity.md	VfoPanel.svelte:78
docs/validation/desktop-v2-v3-parity.md	VfoSurface.svelte:232
docs/validation/desktop-v2-v3-parity.md	VfoSurface.svelte:244-247
docs/validation/desktop-v2-v3-parity.md	VfoSurface.test.ts:1144
docs/validation/desktop-v2-v3-parity.md	VfoSurface.test.ts:200
docs/validation/desktop-v2-v3-parity.md	band-adapter.test.ts:366
docs/validation/desktop-v2-v3-parity.md	broadcast-presets.ts:11-16
docs/validation/desktop-v2-v3-parity.md	capture.mjs:440
docs/validation/desktop-v2-v3-parity.md	capture.mjs:542-548
docs/validation/desktop-v2-v3-parity.md	catalog.ts:814-818
docs/validation/desktop-v2-v3-parity.md	command-bus.ts:132-139
docs/validation/desktop-v2-v3-parity.md	contract.ts:29-32
docs/validation/desktop-v2-v3-parity.md	cw-keyer-zone-lifecycle.component.test.ts:207
docs/validation/desktop-v2-v3-parity.md	declarations.ts:21
docs/validation/desktop-v2-v3-parity.md	desktop-declarations.ts:108
docs/validation/desktop-v2-v3-parity.md	desktop-declarations.ts:36-131
docs/validation/desktop-v2-v3-parity.md	drag-reorder.svelte.ts:44
docs/validation/desktop-v2-v3-parity.md	drag-reorder.svelte.ts:48-49
docs/validation/desktop-v2-v3-parity.md	frontend/fixtures/main.ts:112
docs/validation/desktop-v2-v3-parity.md	lib/state/field-status.ts:63-68
docs/validation/desktop-v2-v3-parity.md	lib/types/state.ts:108
docs/validation/desktop-v2-v3-parity.md	main.ts:104-109
docs/validation/desktop-v2-v3-parity.md	meter-utils.ts:327
docs/validation/desktop-v2-v3-parity.md	meter-utils.ts:361
docs/validation/desktop-v2-v3-parity.md	radio-view-model-adapter.test.ts:203
docs/validation/desktop-v2-v3-parity.md	radio-view-model-adapter.ts:1195
docs/validation/desktop-v2-v3-parity.md	radio-view-model-adapter.ts:1278
docs/validation/desktop-v2-v3-parity.md	radio-view-model-adapter.ts:95
docs/validation/desktop-v2-v3-parity.md	radio-view-model.test.ts:217
docs/validation/desktop-v2-v3-parity.md	radio-view-model.ts:1513-1515
docs/validation/desktop-v2-v3-parity.md	radio-view-model.ts:1601-1626
docs/validation/desktop-v2-v3-parity.md	radio-view-model.ts:763-774
docs/validation/desktop-v2-v3-parity.md	radio-view-model.ts:91
docs/validation/desktop-v2-v3-parity.md	radio_poller.py:1439-1466
docs/validation/desktop-v2-v3-parity.md	resolution.ts:165
docs/validation/desktop-v2-v3-parity.md	runtime_helpers.py:204
docs/validation/desktop-v2-v3-parity.md	rx-tx-surface.ts:37-39
docs/validation/desktop-v2-v3-parity.md	semantic-desktop-migration.component.test.ts:1028-1029
docs/validation/desktop-v2-v3-parity.md	semantic-desktop-migration.component.test.ts:1049-1062
docs/validation/desktop-v2-v3-parity.md	semantic-desktop-migration.component.test.ts:1273-1283
docs/validation/desktop-v2-v3-parity.md	semantic-desktop-migration.component.test.ts:1359
docs/validation/desktop-v2-v3-parity.md	semantic-meters-wiring.component.test.ts:244
docs/validation/desktop-v2-v3-parity.md	semantic-tx-aux-wiring.component.test.ts:354
docs/validation/desktop-v2-v3-parity.md	state_schema.py:167
