Files
chanora/poc
EdisonJwa 4c64517e45 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].
2026-05-14 18:25:03 +08:00
..

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_flutter or crates/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.md describing scope, exit criterion, and reproduction;
  • a VERIFICATION.md recording 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.