test+diag: SWE.4 unit tests for Rust paths, Dart service tests, diagnostics audio.android section
Verification + diagnostics:
- apps/chanora_flutter/test/services/back_intent_policy_test.dart:
8-case truth table for the BackIntentPolicy pure function
(SWE4-UV-042).
- apps/chanora_flutter/test/services/back_intent_service_test.dart:
5 channel-routing tests (SWE4-UV-042, SWE5-IV-019 unit slice).
- apps/chanora_flutter/test/services/android_permissions_service_test.dart:
12 tests covering inbound channel events, outbound requests,
state-machine transitions, and non-Android short-circuit
(SWE4-UV-041).
- SDD/SRS trace headers added to alpha_e2e_test.dart,
beta_e2e_test.dart, widget_test.dart so the existing test ↔ ID
mapping is discoverable by grep.
- chanora_diagnostics: extends DiagnosticExport with android_audio:
Option<String> for the SDD-116 evidence schema (requested /
achieved performance mode + sharing mode + input preset + sample
rate + frames per burst, per-effect engagement, latency tier).
The bridge's export_diagnostics() now embeds the Android section
when current_android_audio_diagnostics() returns Some.
All 93 workspace Rust tests and 26 Dart test/services tests pass.
Trace: SDD-090, SDD-112, SDD-113, SDD-116, SWE4-UV-041, SWE4-UV-042,
SWE4-UV-045, SWE4-UV-047, SWE4-UV-048, SWE4-UV-049, SWE4-UV-051,
SWE4-UV-052, SWE5-IV-019.