docs(p0): compact MVP spec for Android Oboe focus
This commit is contained in:
@@ -1,303 +0,0 @@
|
||||
|
||||
# Chanora SYS.4 System Integration and Integration Verification Plan
|
||||
|
||||
**Document type:** System Integration and Integration Verification Plan
|
||||
**Process alignment:** ASPICE SYS.4 System Integration and Integration Verification
|
||||
**Version:** 0.9.2
|
||||
**Status:** Baseline Candidate
|
||||
**Language:** English
|
||||
**Product:** Chanora
|
||||
**Verification object:** Integrated application system elements
|
||||
**Direct source layer:** SysDes
|
||||
|
||||
**Repo path:** `docs/verification/sys4-system-integration-verification-plan.md` ---
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This document defines the system integration and integration verification strategy for the Chanora application system. It verifies that the system elements defined by SysDes are integrated and interact according to the system architecture.
|
||||
|
||||
```text
|
||||
SysRS -> SysDes -> SYS.4 System Integration Verification
|
||||
```
|
||||
|
||||
SYS.4 verifies system architecture integration. It does not replace SWE.4, SWE.5, or SWE.6.
|
||||
|
||||
## 2. System Integration Scope
|
||||
|
||||
System elements include:
|
||||
|
||||
- User/operator interaction
|
||||
- Client device hardware
|
||||
- Operating system services
|
||||
- Network environment
|
||||
- External compatible voice server
|
||||
- Chanora application container
|
||||
- Flutter UI
|
||||
- Rust Core
|
||||
- Protocol adapter
|
||||
- Audio subsystem
|
||||
- Platform adapters
|
||||
- Storage
|
||||
- Secure storage
|
||||
- Diagnostics
|
||||
- Deployment environment
|
||||
- Localization and UI/UX architecture elements
|
||||
|
||||
## 3. System Integration Strategy
|
||||
|
||||
| Integration step | System elements | Purpose |
|
||||
|---|---|---|
|
||||
| SYS4-INT-001 | Chanora app + OS permissions | Verify microphone, notification, secure storage, lifecycle, and permission integration |
|
||||
| SYS4-INT-002 | Chanora app + audio hardware | Verify input/output device integration and route changes |
|
||||
| SYS4-INT-003 | Chanora app + network environment | Verify connection behavior, reconnect, and failure presentation |
|
||||
| SYS4-INT-004 | Chanora app + external compatible server | Verify channels, clients, voice, and text behavior with real or representative server |
|
||||
| SYS4-INT-005 | Flutter UI + platform services | Verify safe areas, system bars, keyboard, and platform navigation behavior |
|
||||
| SYS4-INT-006 | Rust Core + external protocol server | Verify protocol integration at system level |
|
||||
| SYS4-INT-007 | Diagnostics + user export target | Verify diagnostic export workflow at system level |
|
||||
| SYS4-INT-008 | Deployment artifact + target OS | Verify packaged application launches and uses required services |
|
||||
| SYS4-INT-009 | Localization + server multilingual content | Verify multilingual product UI and server-provided content handling |
|
||||
| SYS4-INT-010 | Full application system | Verify integrated behavior across supported platform classes |
|
||||
|
||||
## 4. System Integration Verification Measures
|
||||
|
||||
**SYS4-SIV-001**: Verify OS permission integration.
|
||||
|
||||
- Source SysDes: SysDes-048 through SysDes-058, SysDes-118
|
||||
- Verification method: Platform system integration test
|
||||
- Pass criteria: Required permissions, lifecycle behavior, safe areas, keyboard behavior, and platform navigation behavior integrate with the application.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-002**: Verify audio hardware integration.
|
||||
|
||||
- Source SysDes: SysDes-059 through SysDes-074
|
||||
- Verification method: Audio system integration test
|
||||
- Pass criteria: Audio capture, playback, route change handling, and processing feature availability work with supported devices.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-003**: Verify network environment integration.
|
||||
|
||||
- Source SysDes: SysDes-075 through SysDes-087
|
||||
- Verification method: Network system integration test
|
||||
- Pass criteria: Connection, recoverable network loss, reconnect, and user-safe errors work under defined network conditions.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-004**: Verify external compatible server integration.
|
||||
|
||||
- Source SysDes: SysDes-088 through SysDes-101
|
||||
- Verification method: Server system integration test
|
||||
- Pass criteria: Server connection, channel list, client list, voice, text, and disconnect behavior integrate correctly.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-005**: Verify application functional system integration.
|
||||
|
||||
- Source SysDes: SysDes-102 through SysDes-120
|
||||
- Verification method: System integration test
|
||||
- Pass criteria: User-visible workflows operate across UI, Rust Core, protocol, state, audio, storage, and diagnostics elements.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-006**: Verify protocol system integration.
|
||||
|
||||
- Source SysDes: SysDes-121 through SysDes-128
|
||||
- Verification method: System integration test with compatible server
|
||||
- Pass criteria: Protocol adapter integrates with Rust Core and external compatible server without exposing protocol internals to UI.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-007**: Verify state synchronization system integration.
|
||||
|
||||
- Source SysDes: SysDes-129 through SysDes-132
|
||||
- Verification method: System integration test
|
||||
- Pass criteria: Snapshot, delta, reconnect, event ordering, and UI update behavior operate together.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-008**: Verify storage and security system integration.
|
||||
|
||||
- Source SysDes: SysDes-001 through SysDes-132
|
||||
- Verification method: Security and system integration test
|
||||
- Pass criteria: Bookmarks, settings, secure storage, redaction, and privacy constraints integrate correctly.
|
||||
- Evidence: System integration test result, audit record
|
||||
|
||||
**SYS4-SIV-009**: Verify diagnostics and operations system integration.
|
||||
|
||||
- Source SysDes: SysDes-001 through SysDes-132
|
||||
- Verification method: System integration test
|
||||
- Pass criteria: Logs, redaction, diagnostics, export, and support workflow operate as an integrated capability.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-010**: Verify non-functional system behavior.
|
||||
|
||||
- Source SysDes: SysDes-001 through SysDes-132
|
||||
- Verification method: Performance and reliability system integration test
|
||||
- Pass criteria: Responsiveness, audio latency, memory growth controls, reconnect, and malformed-event behavior meet defined expectations.
|
||||
- Evidence: System integration test result
|
||||
|
||||
**SYS4-SIV-011**: Verify deployment and release environment integration.
|
||||
|
||||
- Source SysDes: SysDes-001 through SysDes-132
|
||||
- Verification method: Deployment system integration test
|
||||
- Pass criteria: Target platform packages install, launch, and access required OS services as expected.
|
||||
- Evidence: Deployment integration result
|
||||
|
||||
**SYS4-SIV-012**: Verify interface integration.
|
||||
|
||||
- Source SysDes: SysDes-001 through SysDes-132
|
||||
- Verification method: Interface system integration test
|
||||
- Pass criteria: User, bridge, protocol, audio, storage, secure storage, network, and diagnostic interfaces integrate correctly.
|
||||
- Evidence: Interface integration result
|
||||
|
||||
**SYS4-SIV-013**: Verify constraints and assumptions integration impact.
|
||||
|
||||
- Source SysDes: SysDes-001 through SysDes-132
|
||||
- Verification method: Review, inspection, system integration test
|
||||
- Pass criteria: Constraints and assumptions are respected or deviations are documented.
|
||||
- Evidence: Review record, system integration test result
|
||||
|
||||
**SYS4-SIV-014**: Verify UI/UX, Material 3, platform, and i18n system integration.
|
||||
|
||||
- Source SysDes: SysDes-111 through SysDes-132
|
||||
- Verification method: System integration test
|
||||
- Pass criteria: Material 3 design system, adaptive shell, accessibility, platform behavior, localization, Unicode, diagnostics localization, and traceability controls integrate correctly.
|
||||
- Evidence: System integration test result
|
||||
|
||||
## 5. Regression Strategy
|
||||
|
||||
Regression selection shall consider:
|
||||
|
||||
- changed system element
|
||||
- changed software release
|
||||
- changed platform adapter
|
||||
- changed audio hardware support
|
||||
- changed compatible server behavior
|
||||
- changed network behavior
|
||||
- changed deployment package
|
||||
- changed localization or Unicode handling
|
||||
- changed diagnostics export behavior
|
||||
- changed system architecture item
|
||||
|
||||
## 6. Traceability Matrix
|
||||
|
||||
| SysDes Range | SYS.4 Coverage |
|
||||
|---|---|
|
||||
| SysDes-001 through SysDes-034 | SYS4-SIV-005, SYS4-SIV-006, SYS4-SIV-007 |
|
||||
| SysDes-035 through SysDes-058 | SYS4-SIV-001 |
|
||||
| SysDes-059 through SysDes-074 | SYS4-SIV-002 |
|
||||
| SysDes-075 through SysDes-087 | SYS4-SIV-003 |
|
||||
| SysDes-088 through SysDes-101 | SYS4-SIV-004 |
|
||||
| SysDes-102 through SysDes-110 | SYS4-SIV-005 |
|
||||
| SysDes-111 through SysDes-132 | SYS4-SIV-014 |
|
||||
| SysDes-121 through SysDes-128 | SYS4-SIV-006 |
|
||||
| SysDes-129 through SysDes-132 | SYS4-SIV-007 |
|
||||
| SysDes-above-current-baseline and above | Not applicable; no such IDs exist in current SysDes baseline. |
|
||||
|
||||
## 7. Result Reporting
|
||||
|
||||
System integration verification results shall be summarized in a system integration verification summary report including:
|
||||
|
||||
- release scope
|
||||
- integrated system elements
|
||||
- integration sequence
|
||||
- selected verification measures
|
||||
- regression scope
|
||||
- platform/environment used
|
||||
- pass/fail status
|
||||
- nonconformances
|
||||
- interface issues
|
||||
- dynamic behavior issues
|
||||
- residual risks
|
||||
- release recommendation
|
||||
|
||||
## 8. Change History
|
||||
|
||||
| Version | Date | Description |
|
||||
|---|---|---|
|
||||
| 0.1.0 | 2026-05-14 | Initial SYS.4 system integration and integration verification plan derived from SysDes v0.6. |
|
||||
|
||||
---
|
||||
|
||||
## 9. Platform Decision System Integration Verification Addendum
|
||||
|
||||
**SYS4-SIV-015**: Verify platform baseline, Apple SDK gate, Android target gate, MVP single connection, audio defaults, storage, bridge, and diagnostics privacy system integration.
|
||||
|
||||
- Source SysDes: SysDes-133 through SysDes-141
|
||||
- Verification method: System integration test, release inspection, security/privacy review
|
||||
- Pass criteria: System-level integration reflects accepted product decisions and release gates.
|
||||
- Evidence: System integration result, release readiness evidence
|
||||
|
||||
| SysDes Range | SYS.4 Coverage |
|
||||
|---|---|
|
||||
| SysDes-133 through SysDes-141 | SYS4-SIV-015 |
|
||||
|
||||
**SYS4-SIV-016**: Verify integrated system-level desktop Push-to-Talk behaviour against SysDes-142 through SysDes-148.
|
||||
|
||||
- Source SysDes: SysDes-142, SysDes-143, SysDes-144, SysDes-145, SysDes-146, SysDes-147, SysDes-148
|
||||
- Verification method: System integration verification on Windows, macOS, GNOME-on-Wayland reference hosts
|
||||
- Pass criteria: Platform PTT Backend layer is the only surface generating PTT state transitions; `PttCapabilityLevel` and `backend_id` propagate from backend through Rust Core through bridge to Flutter UI without modification; `transmit_active` and `capture_active` are observably independent at the system boundary; diagnostics sanitizer rejects raw key payloads; UI capability badge matches the active capability; release readiness record carries the live-measurement evidence per RR-PTT-001..008.
|
||||
- Evidence: SYS.4 verification report
|
||||
|
||||
| SysDes Range | SYS.4 Coverage |
|
||||
|---|---|
|
||||
| SysDes-133 through SysDes-141 | SYS4-SIV-015 |
|
||||
| SysDes-142 through SysDes-148 | SYS4-SIV-016 |
|
||||
|
||||
|
||||
## Baseline Candidate 0.9.1 Update
|
||||
|
||||
| Version | Date | Description |
|
||||
|---|---|---|
|
||||
| 0.9.1 | 2026-05-14 | Updated baseline after product decision closure: Apple App Store SDK gate uses Xcode 26+ and iOS 26 / iPadOS 26 SDK+ since 2026-04-28, platform baselines and decision traceability propagated across the document set. |
|
||||
|
||||
|
||||
## Baseline Candidate 0.9.2 Update
|
||||
|
||||
| Version | Date | Description |
|
||||
|---|---|---|
|
||||
| 0.9.2 | 2026-05-14 | Corrected Apple App Store Connect upload gate to 2026-04-28 and checked full-package naming, references, and coverage. |
|
||||
|
||||
|
||||
## Baseline Candidate 0.9.3 Update
|
||||
|
||||
| Version | Date | Description |
|
||||
|---|---|---|
|
||||
| 0.9.3 | 2026-05-15 | Added desktop PTT system-integration verification item SYS4-SIV-016 covering SysDes-142..148 across Windows, macOS, and GNOME-on-Wayland Linux reference hosts. |
|
||||
|
||||
|
||||
## 10. Android P0 System Integration Verification Addendum
|
||||
|
||||
SYS4-SIV-015 (Platform Decision gate) is strengthened to require the
|
||||
Android-specific evidence below. Two new SYS.4 entries are added.
|
||||
|
||||
**SYS4-SIV-015 (strengthened — Android target gate)**: In addition to
|
||||
the original platform-baseline checks, the Android target gate now
|
||||
requires:
|
||||
|
||||
- A boot + connect + voice-channel run on a physical Android 9 (API 28) device per DEC-004 / SysRS-288.
|
||||
- AAB upload acceptance on the Play Console Internal Testing track (or `bundletool` equivalent) per SRS-119 / SRS-188.
|
||||
- Foreground service surviving lock-screen for ≥ 10 minutes per SRS-111.
|
||||
- AudioManager mode snapshot/restore verified via `dumpsys audio` per SRS-208 / SysRS-305.
|
||||
- Evidence: System integration result + Play Console acceptance record + dumpsys traces.
|
||||
|
||||
**SYS4-SIV-017**: Verify Android in-call audio mode round-trip with Bluetooth SCO route awareness.
|
||||
|
||||
- Source SysDes: SysDes-133 through SysDes-148 (Android-specific subset), SysRS-305
|
||||
- Source SRS: SRS-208
|
||||
- Verification method: System integration test on a physical Android device with at least one Bluetooth headset
|
||||
- Pass criteria: Pre-session `AudioManager.mode` is captured; voice session sets `MODE_IN_COMMUNICATION`; disconnect restores the prior mode. Bluetooth headset connect/disconnect during a session does not crash the app and does not lock the audio route permanently (P0 minimum). Full SCO-route correctness is logged as a P1 follow-up.
|
||||
- Evidence: Device test log + dumpsys + Bluetooth-event log
|
||||
|
||||
**SYS4-SIV-018**: Verify Android AAB install via Play Internal Track or bundletool.
|
||||
|
||||
- Source SysDes: SysDes-133 through SysDes-148 (Android-specific subset)
|
||||
- Source SRS: SRS-119, SRS-187, SRS-188
|
||||
- Verification method: Release-pipeline integration test
|
||||
- Pass criteria: The exact AAB produced by the release CI job is accepted by Play Console Internal Testing (or by `bundletool install-apks --connected-device`). The installed app boots on an API 28 device and a current-target-API device. Signing key fingerprint matches the CI release-key fingerprint. ABI splits exist for `{arm64-v8a, armeabi-v7a, x86_64}`.
|
||||
- Evidence: Play Console acceptance screenshot + bundletool report + adb install log
|
||||
|
||||
| SysDes Range | SYS.4 Coverage |
|
||||
|---|---|
|
||||
| SysDes-133 through SysDes-148 (Android subset) | SYS4-SIV-015 (strengthened), SYS4-SIV-017, SYS4-SIV-018 |
|
||||
|
||||
|
||||
## Baseline Candidate 0.9.4 Update
|
||||
|
||||
| Version | Date | Description |
|
||||
|---|---|---|
|
||||
| 0.9.4 | 2026-05-18 | Strengthened SYS4-SIV-015 Android target gate (API 28 boot, FGS lock-screen longevity, AudioManager round-trip, Play AAB acceptance) and added SYS4-SIV-017 (in-call mode + Bluetooth SCO awareness) and SYS4-SIV-018 (AAB install via Play Internal Track / bundletool). |
|
||||
Reference in New Issue
Block a user