2e830eaed4
Replaces the Task 3 smoke-test Program.cs with the full inference loop: - PA_ALSA_PLUGHW=1 and ORT_LOGGING_LEVEL=3 via both Environment.SetEnvironmentVariable and Libc.setenv (P/Invoke) per the Test 1 findings.md env-var gotcha. - OrtEnv.CreateInstanceWithOptions with ORT_LOGGING_LEVEL_ERROR to suppress early GPU-discovery warnings from device_discovery.cc in ORT 1.26.0 (the env var alone does not silence these; CreateInstanceWithOptions does). - Callback-driven PortAudio input stream at 16 kHz / Int16 / 1280 frames/block. - BlockingCollection<short[]>(16) queue; per-call new short[1280] allocation (no races). - Main loop: Take() -> WakewordModel.Predict() -> threshold >= 0.5 with 1.0s cooldown -> DETECTED alexa score=... t=...s. No beep (Task 5 adds it). - Console.CancelKeyPress -> cts.Cancel() -> graceful stream.Stop() + model.Dispose() + PortAudio.Terminate().