Files
chanora/docs/verification/swe6-software-verification-plan.md
T

6.1 KiB

SWE.6 Software Verification Plan

Document status: DV meeting baseline candidate
Date: 2026-05-29
Scope: Integrated software verification against docs/srs.md

1. Purpose

This plan verifies the integrated Chanora software against the SRS. It focuses on SRS-128 and the MVP acceptance requirements inherited from SysRS-241 through SysRS-257.

2. SRS Verification Strategy

SRS area Verification approach Evidence source
Software process and traceability Review and inspection docs/srs.md, docs/governance/traceability-matrix.md
UI and app shell Flutter widget/service tests and demo apps/chanora_flutter/test/
Bridge and Rust core Workspace tests and integration smoke CI Rust job, bridge/core tests
Protocol and connection Protocol integration and compatible-server demo Protocol tests, manual server demo
State sync Reducer tests, snapshot mapper tests, reconnect/error scenarios, and runtime integration evidence Rust state tests, Flutter mapper tests, compatible-server runtime evidence
Audio Audio tests, processing tests, benchmark advisory, platform demo chanora_audio tests/benches and manual platform evidence
Storage and secure storage Storage tests and platform secure-storage audit Rust storage tests, platform audit
Diagnostics and redaction Redaction tests, diagnostic export demo, security review Diagnostics tests, export review
Platform and release Platform smoke and release build inspection CI, platform smoke docs, release record

3. MVP Acceptance Matrix

SysRS Acceptance requirement SRS coverage Required evidence Current DV status
SysRS-241 Connect to TeamSpeak 3-compatible server using tsclientlib SRS-045, SRS-046, SRS-049, SRS-050, SRS-128, SRS-134 Compatible-server connection demo and protocol integration evidence Passed with limitation when demo log is attached; not sufficient for public release alone
SysRS-242 Display server channel tree SRS-019 through SRS-022, SRS-054 through SRS-058, SRS-128 UI demo, snapshot/state tests Reducer unit evidence present; candidate UI/demo and runtime reducer-integration evidence must still be attached
SysRS-243 Display online clients SRS-019 through SRS-022, SRS-054 through SRS-058, SRS-128 UI demo, snapshot/state tests Reducer unit evidence present; candidate UI/demo and runtime reducer-integration evidence must still be attached
SysRS-244 Allow user to join a voice channel SRS-023, SRS-024, SRS-045 through SRS-051, SRS-128 Channel join demo, error mapper tests Passed with limitation when candidate demo is attached
SysRS-245 Send voice SRS-062 through SRS-071, SRS-077, SRS-079, SRS-128 Audio loopback/platform demo Partial; platform evidence must be attached
SysRS-246 Receive voice SRS-071 through SRS-076, SRS-078, SRS-081, SRS-128 Audio loopback/platform demo Partial; platform evidence must be attached
SysRS-247 Support microphone mute SRS-025, SRS-077, SRS-079, SRS-128 UI/audio gate demo or test Passed with limitation when candidate demo is attached
SysRS-248 Support output deaf SRS-025, SRS-078, SRS-128 UI/audio gate demo or test Passed with limitation when candidate demo is attached
SysRS-249 Support push-to-talk SRS-077 through SRS-079, SRS-197 through SRS-200, SRS-128 PTT backend tests, platform capability evidence Partial; release record must state platform capability level
SysRS-250 Support Echo Canceller SRS-064 through SRS-067, SRS-125, SRS-128 Audio processing test/demo Partial; attach audio evidence
SysRS-251 Support Automatic Gain Control SRS-064 through SRS-067, SRS-125, SRS-128 Audio processing test/demo Partial; attach audio evidence
SysRS-252 Support Noise Suppression SRS-064 through SRS-067, SRS-125, SRS-128 Audio processing test/demo Partial; attach audio evidence
SysRS-253 Support High-Pass Filter SRS-064 through SRS-067, SRS-125, SRS-128 Audio processing test/demo Partial; attach audio evidence
SysRS-254 Send and receive channel text messages SRS-019, SRS-036 through SRS-038, SRS-170 through SRS-174, SRS-128 Chat UI tests and compatible-server demo Passed with limitation when candidate demo is attached
SysRS-255 Save and reuse server bookmarks SRS-084 through SRS-089, SRS-128 Storage tests and UI demo Passed with limitation when candidate demo is attached
SysRS-256 Use secure storage for sensitive data SRS-090 through SRS-095, SRS-126, SRS-137 Security audit and platform storage evidence Partial; Android Keystore-backed DEK deferred
SysRS-257 Export redacted diagnostic logs SRS-028, SRS-093 through SRS-102, SRS-126, SRS-128 Redaction tests and export demo Passed with limitation when redaction/export evidence is attached

4. Candidate Software Verification Runs

For a release decision, the following run records must be attached or linked from docs/release/release-readiness-go-nogo-record.md:

Run record Command or method Required for
Rust workspace CI cargo check --workspace --locked and cargo test --workspace --locked --no-fail-fast All Rust-backed SRS behavior
Flutter CI flutter analyze and flutter test --exclude-tags e2e UI, service, and widget SRS behavior
Candidate compatible-server demo Manual or scripted demo against a controlled TeamSpeak-compatible server SysRS-241 through SysRS-246, SysRS-254
Candidate audio demo Manual or scripted loopback/platform run SysRS-245 through SysRS-253
Candidate diagnostics demo Export and inspect redacted diagnostic bundle SysRS-257, SRS-093 through SRS-102
Candidate secure-storage audit Platform inspection for Windows, macOS, Linux, iOS, Android SysRS-256, SRS-090 through SRS-095

5. SWE.6 DV Decision Rule

SWE.6 can pass the DV meeting if the acceptance matrix is accepted as the controlling checklist and each partial item is carried into the release-readiness record. SWE.6 cannot approve public release while DEC-012, Android secure-storage limitation, platform signing, and incomplete candidate evidence remain open.