Files
chanora/docs/architecture/proof-of-concept-plan.md
T
EdisonJwa 271d23faf7 docs(governance): record PoC outcomes, owner decisions, and audit evidence
Closes Phases A and D of the post-PoC sequencing.

Decision register (v0.9.2 → v0.9.3):
  - DEC-014 Accepted: flutter_rust_bridge 2.x pinned (closed by
    poc/flutter_rust_bridge_hello).
  - DEC-013.1 Accepted: rusqlite (bundled) (closed by
    poc/sqlite-storage-spike).
  - DEC-013.2 Accepted: Linux secure-storage backend policy —
    Secret Service preferred, keyutils fallback (closed by
    poc/secure-storage-spike; resolves SysRS-053 / SysRS-162
    ambiguity).
  - DEC-011.1 Accepted (desktop: cpal) / Deferred (mobile)
    (closed by poc/audio-capture-playback-spike desktop half only).
  - DEC-022 Accepted: canonical implementation directory layout per
    the README sketch and SAD §7.2.
  - DEC-020 explicitly Deferred by owner; remains a public-release
    blocker.

Audit reports updated with empirical evidence:
  - docs/security/secure-storage-audit-report.md v0.9.3:
    SS-AUD-001/002/003/005/006 = PoC Pass with evidence pointers;
    SS-TC-003 (Linux) Actual Result populated and Status = PoC Pass;
    SS-AUD-004 cross-referenced to diagnostics-redaction PoC;
    findings SS-FIND-001 (closed by DEC-013.2), SS-FIND-002 (keyutils
    session caveat), SS-FIND-003 (non-Linux adapters still open).
  - docs/security/diagnostic-redaction-audit-report.md v0.9.3:
    REDACT-TC-001..010 = PoC Pass with evidence pointers; export
    bundle policy §5 populated for every row; findings
    REDACT-FIND-001 (regex coverage), REDACT-FIND-002
    (tracing-layer integration), REDACT-FIND-003 (cross-spike
    KnownSecretRegistry contract).

PoC plan (v0.1.0 → v0.2.0):
  - Status column added to §2; outcomes recorded.

New doc:
  - docs/governance/poc-results-summary.md v0.1.0 — single-page
    reviewer-facing summary listing each spike's status, the
    toolchain exercised, the owner decisions taken, the audit
    coverage table, and open risks RISK-PoC-001..005 (mobile audio,
    non-Linux secure-storage adapters, license, remaining
    Proposed decisions, no product code yet).

This completes the post-PoC documentation work. Repo is at a clean
pause point: PoC code is committed, owner decisions are recorded,
audit reports carry empirical evidence, and the residual risks are
named in the summary doc.
2026-05-14 12:34:13 +08:00

2.6 KiB

Proof-of-Concept Plan

Document type: Architecture / Proof-of-Concept Plan
Version: 0.2.0
Status: Draft
Language: English
Product: Chanora
Repo path: docs/architecture/proof-of-concept-plan.md


1. Purpose

This document defines technical proof-of-concept work that should be completed before heavy product implementation.

2. Required PoCs

PoC Purpose Exit criteria Status
Flutter/Rust bridge hello Prove command/result/event DTO boundary Flutter can call Rust and receive event stream data PASSpoc/flutter_rust_bridge_hello/VERIFICATION.md (Linux desktop, 3/3 tests, 2026-05-13). Closes DEC-014.
tsclientlib connect spike Prove protocol feasibility Rust can connect to a compatible server/test double PASSpoc/tsclientlib-connect-spike/VERIFICATION.md (live against cn.teamspeak.app, 2026-05-13).
Audio capture/playback spike Prove platform audio behavior Capture/playback works on at least one desktop and one mobile target PARTIAL PASSpoc/audio-capture-playback-spike/VERIFICATION.md. Desktop half met on Linux/PipeWire (2026-05-13). Mobile half NOT verified; remains an open gap. Closes DEC-011.1 for desktop only.
Secure storage spike Prove secret storage behavior Secret write/read/delete works through platform secure storage PASS (Linux only)poc/secure-storage-spike/VERIFICATION.md (6/6 audit tests, 2026-05-13). Closes DEC-013.2 (Linux backend policy).
SQLite storage spike Prove local non-secret persistence Schema, migration, and repository pattern are demonstrated PASSpoc/sqlite-storage-spike/VERIFICATION.md (11/11 tests, 2026-05-13). Closes DEC-013.1.
Diagnostics redaction spike Prove redaction before export Password and identity-secret samples are redacted PASSpoc/diagnostics-redaction-spike/VERIFICATION.md (REDACT-TC-001..010, 2026-05-13).

3. PoC Directory

Recommended future location:

poc/
  flutter-rust-bridge-hello/
  tsclientlib-connect-spike/
  audio-capture-playback-spike/
  secure-storage-spike/
  sqlite-storage-spike/
  diagnostics-redaction-spike/

4. Rule

A PoC is not product code unless explicitly promoted.

5. Change History

Version Date Description
0.1.0 2026-05-14 Initial proof-of-concept plan.
0.2.0 2026-05-14 Recorded PoC outcomes: 5 PASS, 1 PARTIAL PASS (mobile half of audio still open). Added Status column. Spike directories live under poc/; see poc/README.md and docs/governance/poc-results-summary.md.