docs(governance): promote audio PoC to PASS; close mobile-Android half
Documentation update following the Android audio spike pass.
Decision register (v0.9.3 → v0.9.4):
- DEC-011.1 promoted from
'Accepted (desktop: cpal) / Deferred (mobile)'
to
'Accepted (desktop: cpal; Android: cpal-on-Oboe) / Deferred (iOS)'.
- Evidence pointer added: poc/audio-capture-playback-android-spike/
VERIFICATION.md.
PoC plan (v0.2.0 → v0.3.0):
- Audio row promoted from PARTIAL PASS to PASS.
- All six PoC plan entries are now PASS.
PoC results summary (v0.1.0 → v0.2.0):
- Audio row collapsed into one PASS spanning both spikes.
- RISK-PoC-001 narrowed from 'mobile audio' to 'iOS audio only'.
- Toolchain table expanded with Android NDK, cargo-ndk, AGP/
Gradle/Kotlin, jni/ndk-context/android_logger, and the test
device.
Cross-spike pointers updated:
- poc/audio-capture-playback-spike/VERIFICATION.md result and
follow-up sections updated to reference the Android spike.
- poc/README.md status table lists both audio spike directories.
CHANGELOG updated under [Unreleased].
This commit is contained in:
+2
-1
@@ -16,9 +16,10 @@ Authority: [`docs/architecture/proof-of-concept-plan.md`](../docs/architecture/p
|
||||
| `tsclientlib-connect-spike` | yes | **PASS** — see `tsclientlib-connect-spike/VERIFICATION.md` |
|
||||
| `flutter_rust_bridge_hello` | yes (`flutter-rust-bridge-hello` in plan) | **PASS** — see `flutter_rust_bridge_hello/VERIFICATION.md` |
|
||||
| `secure-storage-spike` | yes | **PASS (Linux only)** — see `secure-storage-spike/VERIFICATION.md` |
|
||||
| `audio-capture-playback-spike` | yes | **PARTIAL PASS** — desktop verified, mobile not — see `audio-capture-playback-spike/VERIFICATION.md` |
|
||||
| `sqlite-storage-spike` | yes | **PASS** — see `sqlite-storage-spike/VERIFICATION.md` |
|
||||
| `diagnostics-redaction-spike` | yes | **PASS** — see `diagnostics-redaction-spike/VERIFICATION.md` |
|
||||
| `audio-capture-playback-spike` (desktop half) | yes | **PASS** — see `audio-capture-playback-spike/VERIFICATION.md` |
|
||||
| `audio-capture-playback-android-spike` (mobile half) | yes | **PASS** — see `audio-capture-playback-android-spike/VERIFICATION.md` |
|
||||
|
||||
## Naming note
|
||||
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
|
||||
## Result
|
||||
|
||||
**PARTIAL PASS.** Desktop half met on Linux; **mobile half not
|
||||
verified**.
|
||||
**PASS (desktop half).** The Linux/PipeWire desktop half of the PoC
|
||||
plan §2 audio exit criterion is fully met by this spike.
|
||||
|
||||
The PoC plan §2 exit criterion is "Capture/playback works on at least
|
||||
one desktop and one mobile target." This spike has empirically
|
||||
verified the **desktop** path (Linux × cpal × PipeWire). The
|
||||
**mobile** path (Android Oboe or iOS AVAudioEngine) has not been
|
||||
built or run in this session and remains a documented gap. See the
|
||||
`Gaps` section in `README.md`.
|
||||
The mobile half ("at least one mobile target") is closed by
|
||||
[`poc/audio-capture-playback-android-spike`](../audio-capture-playback-android-spike/)
|
||||
on a physical Android device — see that directory's `VERIFICATION.md`.
|
||||
|
||||
Combined: the audio PoC is fully retired.
|
||||
|
||||
## Environment
|
||||
|
||||
@@ -112,7 +111,13 @@ consumed by the platform audio stack.
|
||||
|
||||
1. Promote `cpal` selection to a recorded product decision (DEC-011
|
||||
sub-decision) — or pin a different crate after the mobile spike.
|
||||
Done on 2026-05-13 as DEC-011.1 in
|
||||
`docs/governance/product-decision-register.md`.
|
||||
2. Spike Android Oboe path on an emulator or real device.
|
||||
Done on 2026-05-13 — see
|
||||
`poc/audio-capture-playback-android-spike/VERIFICATION.md`.
|
||||
3. Spike iOS AVAudioEngine path on a real device.
|
||||
4. Only after the mobile half is closed: promote the typed
|
||||
`AudioError` + capture/playback shapes into `chanora_audio`.
|
||||
Still deferred; requires macOS + Xcode hardware.
|
||||
4. Only after the iOS half is closed (or explicitly waived):
|
||||
promote the typed `AudioError` + capture/playback shapes into
|
||||
`chanora_audio`.
|
||||
|
||||
Reference in New Issue
Block a user