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].
Chanora — Proofs of Concept
This directory holds non-product technical spikes. They exist to retire risk before the Flutter/Rust product scaffold is created.
Authority: docs/architecture/proof-of-concept-plan.md.
Rule (PoC plan §4): A PoC is not product code unless explicitly promoted. Nothing here should be imported by the future
apps/chanora_flutterorcrates/chanora_*trees.
Status
| Spike | Required by PoC plan | Status |
|---|---|---|
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 |
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
flutter_rust_bridge_hello is listed in the PoC plan as
flutter-rust-bridge-hello. The directory on disk uses underscores
because the Dart pubspec.yaml package-name grammar forbids hyphens.
This is a naming convention, not a scope change.
What "verified" means here
Each verified spike contains:
- a
README.mddescribing scope, exit criterion, and reproduction; - a
VERIFICATION.mdrecording the exact toolchain versions, command, observed output, and an honest list of things the spike does not validate.
Spikes are intentionally narrow. They do not approximate Chanora architecture layering, they do not implement the documented DTO catalogue, and they do not stand in for the product Rust crates or Flutter modules.