Roadmap: docs/03-implementation-roadmap.md §15 item 16. Its own deadline is "due before M9b's start". M9b's P0 pass struck items 8, 9, 12, 13 and 14 and did not touch this one, so it has now missed its date — the same way item 17 missed its by three milestones.
Finding
There is no device or settings surface anywhere in the UI:
namir-ui has no device panel. UiIntent has seven variants, all parameter / library / notice — none names a device, a sample rate, a buffer size or a host API.
- Device selection happens once at start-up, from remembered settings (
crates/namir-app/src/app.rs).
Five Musts lean on a panel that does not exist: FR-IO-010, FR-IO-040, FR-IO-050 (all Verify: M, so under D-18.6 they are unbuilt, not merely untested), plus FR-IO-060 and FR-IO-070. §14's re-audit table reads 5.11 IO at 2 / 6 / 0, and M8's gate requires every row Done.
Two facts that have moved since the item was written
UiSnapshot now does carry one such field — audio_mode: Option<AudioModeStatus>, M11's FR-IO-020 share-mode indicator — so the item's "no host, device, sample-rate, buffer-size, latency or xrun field of any kind" is no longer literally true. Nothing selects a device, which is the part that matters.
- FR-IO-060's and FR-IO-070's partials no longer book to M9b; M9b re-booked all 51 such partials to M8.
The cost of continuing to say nothing
M11's close-out already paid it: FR-IO-020's only executed evidence required hand-editing %APPDATA%\Namir\audio-settings.json three times, with the application closed, because there is no way to change a device from inside the product.
The decision
- Build a device panel. The item originally sited this in M11, which has run — so it needs a new home, and it is the largest single piece of unbuilt product work identified in this sweep.
- Ship without, and record an FRS-level scope reduction with a
*Consequence* note at each of the five requirements — the shape §15 item 9 used for FR-CLAP-030's channel configuration.
- Keep silence — which is the current state, and is what M8 would discover.
Option 3 is not viable at a 1.0 gate. Between 1 and 2, note that this is a standalone-app question: the plugin gets its device from the host, so FR-IO-* only bind the standalone shell.
Roadmap:
docs/03-implementation-roadmap.md§15 item 16. Its own deadline is "due before M9b's start". M9b's P0 pass struck items 8, 9, 12, 13 and 14 and did not touch this one, so it has now missed its date — the same way item 17 missed its by three milestones.Finding
There is no device or settings surface anywhere in the UI:
namir-uihas no device panel.UiIntenthas seven variants, all parameter / library / notice — none names a device, a sample rate, a buffer size or a host API.crates/namir-app/src/app.rs).Five Musts lean on a panel that does not exist: FR-IO-010, FR-IO-040, FR-IO-050 (all
Verify: M, so under D-18.6 they are unbuilt, not merely untested), plus FR-IO-060 and FR-IO-070. §14's re-audit table reads 5.11 IO at 2 / 6 / 0, and M8's gate requires every row Done.Two facts that have moved since the item was written
UiSnapshotnow does carry one such field —audio_mode: Option<AudioModeStatus>, M11's FR-IO-020 share-mode indicator — so the item's "no host, device, sample-rate, buffer-size, latency or xrun field of any kind" is no longer literally true. Nothing selects a device, which is the part that matters.The cost of continuing to say nothing
M11's close-out already paid it: FR-IO-020's only executed evidence required hand-editing
%APPDATA%\Namir\audio-settings.jsonthree times, with the application closed, because there is no way to change a device from inside the product.The decision
*Consequence*note at each of the five requirements — the shape §15 item 9 used for FR-CLAP-030's channel configuration.Option 3 is not viable at a 1.0 gate. Between 1 and 2, note that this is a standalone-app question: the plugin gets its device from the host, so FR-IO-* only bind the standalone shell.