Files
chanora/docs/governance/product-decision-register.md
T
EdisonJwa f1bc9a6c85 chore(repo): initial baseline import (docs v0.9.2 + bootstrap)
Imports the v0.9.2 documentation baseline and the bootstrap files
required by docs/governance/repository-bootstrap-plan.md v0.1.0 §3,
minus the justfile (added in the next commit).

This commit establishes the git history for the project. All previous
work lived only as filesystem state with no version control.
2026-05-14 12:25:33 +08:00

13 KiB

CHANORA_CFG_Product_Decision_Register_v0.9.2.2.1

Document type: Configuration / Product Decision Register
Version: 0.9.2
Status: Baseline Candidate
Language: English
Product: Chanora
Repo path: docs/governance/product-decision-register.md ---

1. Purpose

This document records key product, architecture, release, legal, and engineering decisions that affect Chanora scope, testing, architecture, app store eligibility, and release readiness.

A decision marked Proposed / Owner Confirmation Required is a recommended decision that should be confirmed by the owner before Final / Approved Baseline.

2. Decision Status Legend

Status Meaning
Proposed / Owner Confirmation Required Recommended decision; owner must confirm before Final.
Accepted Confirmed and part of baseline.
Deferred Not decided for this release; must not block scope if explicitly deferred.
Rejected Not selected.

3. Key Blocking Decisions

Decision ID Decision Recommended decision Status Owner Why it matters
DEC-001 Release type Internal Alpha first, then External Beta, then MVP Public / Store Release Proposed / Owner Confirmation Required Product Owner Controls release gate, verification bar, legal/privacy requirements, and platform scope.
DEC-002 MVP platform scope MVP target remains Windows, macOS, Linux, Android, and iOS; first release may be staged by channel/platform Proposed / Owner Confirmation Required Product Owner + Engineering Owner Controls verification matrix, build artifacts, store readiness, and support load.
DEC-003 Minimum iOS version iOS 13 minimum for Flutter support baseline; test latest iOS release separately Proposed / Owner Confirmation Required Product Owner + iOS Owner Controls iOS compatibility, test devices, and app store eligibility.
DEC-004 Minimum Android version Android API 24 minimum; target API level must satisfy current Google Play policy Proposed / Owner Confirmation Required Product Owner + Android Owner Controls Android device support, runtime permissions, and Play Store eligibility.
DEC-005 Android target SDK Target the Google Play-required API level on the upload date; current release gate uses API 35+ unless newer Google policy applies Proposed / Owner Confirmation Required Android Owner + Release Manager Required for new apps and updates submitted to Google Play after the current policy date.
DEC-006 Multiple server connections in MVP Not in MVP; support one active server connection per client instance Proposed / Owner Confirmation Required Product Owner + Software Architect Reduces state synchronization, audio routing, UI complexity, and verification scope.
DEC-007 AEC default state Enabled by default on platforms/audio backends where supported and stable Proposed / Owner Confirmation Required Audio Owner + Product Owner Affects echo quality, CPU usage, platform behavior, and user experience.
DEC-008 AGC default state Enabled by default, with user setting to disable Proposed / Owner Confirmation Required Audio Owner + Product Owner Affects perceived loudness consistency and may affect advanced user preference.
DEC-009 Noise suppression default state Enabled by default, with user setting to disable Proposed / Owner Confirmation Required Audio Owner + Product Owner Improves typical voice quality but may affect voice naturalness and CPU usage.
DEC-010 High-pass filter default state Enabled by default Proposed / Owner Confirmation Required Audio Owner Removes low-frequency rumble and usually improves speech capture.
DEC-011 Audio processing implementation path Use platform-native audio processing first where available; use Rust/WebRTC-style processing as controlled fallback or later architecture option Proposed / Owner Confirmation Required Software Architect + Audio Owner Controls architecture, latency, CPU use, platform compatibility, and testing.
DEC-012 Official SDK / trademark / licensing review Public/store release is blocked until legal confirms TeamSpeak non-affiliation wording, trademark usage, OSS licenses, and tsclientlib license posture Proposed / Owner Confirmation Required Legal / Compliance + Product Owner Public release risk and store metadata risk.
DEC-013 Local database choice Use SQLite or equivalent embedded local database for non-secret local state; secrets remain in platform secure storage Proposed / Owner Confirmation Required Software Architect + Storage Owner Controls storage schema, migrations, backup/delete policy, and portability.
DEC-014 Bridge choice Use a stable typed Flutter/Rust bridge with generated or schema-controlled DTOs; default to flutter_rust_bridge unless prototype proves a better option Proposed / Owner Confirmation Required Software Architect Controls API stability, maintainability, async event flow, and long-term code generation.
DEC-015 Product language for MVP English-only product UI for MVP; i18n-ready architecture; server-provided content preserved and not translated Proposed / Owner Confirmation Required Product Owner Controls localization scope and release schedule.
DEC-016 Diagnostics upload policy No automatic upload for MVP; user-initiated local diagnostic export only Proposed / Owner Confirmation Required Product Owner + Legal + Security Controls privacy policy, support workflow, and security review scope.
DEC-017 Crash reporting Disabled for MVP unless explicit opt-in provider and privacy policy are approved Proposed / Owner Confirmation Required Product Owner + Legal + Security Avoids privacy/legal complexity before public release.
DEC-018 Public product name Chanora Proposed / Owner Confirmation Required Product Owner Branding and legal identity.
DEC-019 Public non-affiliation statement Use legal-approved wording; draft: “Chanora is independent and is not affiliated with, endorsed by, sponsored by, or officially associated with TeamSpeak.” Proposed / Legal Confirmation Required Legal / Compliance Required for public release and store metadata.
DEC-021 Apple App Store submission SDK Use Xcode 26 or later and the iOS 26 / iPadOS 26 SDK or later for App Store submission on or after 2026-04-28, unless Apple publishes a newer applicable requirement before upload Proposed / Owner Confirmation Required iOS Owner + Release Manager Controls App Store Connect upload eligibility and release pipeline.
DEC-020 License model TBD by owner; no public release until license model and OSS obligations are confirmed Open Product Owner + Legal Business and OSS compliance decision.
Area Recommended MVP default
Active connections One active server connection
UI design system Material 3 + Chanora Design System
Product language English UI; i18n-ready
Server content Preserve and display Unicode; do not translate
Diagnostics Local, user-initiated export only
Telemetry None
Crash reporting None unless later approved
Secret storage Platform secure storage
Non-secret local storage SQLite or equivalent
Audio processing Platform-native first; fallback strategy documented
AEC Enabled by default where supported
AGC Enabled by default
Noise suppression Enabled by default
High-pass filter Enabled by default
Android minimum API 24
Android target API 35 or newer for Google Play policy
iOS minimum iOS 13
Bridge Stable typed Flutter/Rust bridge; default candidate flutter_rust_bridge

5. Decision Impact Matrix

Decision Affects SysRS Affects SysDes Affects SRS Affects SAD Affects SDD Affects Verification Affects Release
Minimum iOS / Android versions Yes Yes Yes Yes Yes Yes Yes
Android target SDK No No Yes No No Yes Yes
Multiple active connections Yes Yes Yes Yes Yes Yes Yes
AEC/AGC/NS/HPF defaults Yes Yes Yes Yes Yes Yes Yes
Audio implementation path No if behavior unchanged Yes Possibly Yes Yes Yes Yes
SDK/trademark/legal review Yes No No No No Yes Yes
SQLite/equivalent choice Possibly Yes Yes Yes Yes Yes Yes
Bridge choice No if API behavior unchanged Yes Possibly Yes Yes Yes Yes
Apple App Store SDK gate Yes Yes Yes Yes Yes Yes Yes
Diagnostics upload policy Yes Yes Yes Yes Yes Yes Yes
Crash reporting Yes if included Yes if included Yes if included Yes if included Yes if included Yes Yes

6. Decisions That Must Be Confirmed By You

Priority Decision
P0 Confirm Apple App Store submission SDK gate: Xcode 26+ and iOS 26 / iPadOS 26 SDK+ for App Store Connect upload on or after 2026-04-28.
P0 Confirm release type sequence: Internal Alpha first?
P0 Confirm MVP platform strategy: all platforms as product target, staged release allowed?
P0 Confirm no automatic telemetry / no automatic diagnostic upload for MVP.
P0 Confirm one active server connection for MVP.
P0 Confirm audio processing defaults: AEC, AGC, noise suppression, high-pass filter enabled by default where supported.
P0 Confirm legal/trademark review required before any public/store release.
P1 Confirm SQLite/equivalent local DB choice.
P1 Confirm bridge default candidate.
P1 Confirm English-only MVP UI with i18n-ready architecture.
P1 Confirm crash reporting disabled unless later explicitly approved.

7. Open Decision Log

Decision ID Owner Decision Status Date Notes
DEC-001 Product Owner Release type sequence Proposed / Owner Confirmation Required TBD Recommended: Internal Alpha first.
DEC-002 Product Owner / Engineering MVP platform strategy Proposed / Owner Confirmation Required TBD Recommended: all platforms as target, staged release allowed.
DEC-003 Product Owner / iOS Owner Minimum iOS version Proposed / Owner Confirmation Required TBD Recommended: iOS 13.
DEC-004 Product Owner / Android Owner Minimum Android version Proposed / Owner Confirmation Required TBD Recommended: Android API 24.
DEC-005 Android Owner / Release Manager Android target SDK Proposed / Owner Confirmation Required TBD Recommended: API 35 or newer for Play submission.
DEC-006 Product Owner / Software Architect Multiple server connections in MVP Proposed / Owner Confirmation Required TBD Recommended: not in MVP.
DEC-007 Audio Owner / Product Owner AEC default Proposed / Owner Confirmation Required TBD Recommended: enabled where supported.
DEC-008 Audio Owner / Product Owner AGC default Proposed / Owner Confirmation Required TBD Recommended: enabled.
DEC-009 Audio Owner / Product Owner Noise suppression default Proposed / Owner Confirmation Required TBD Recommended: enabled.
DEC-010 Audio Owner High-pass filter default Proposed / Owner Confirmation Required TBD Recommended: enabled.
DEC-011 Software Architect / Audio Owner Audio processing path Proposed / Owner Confirmation Required TBD Recommended: platform-native first.
DEC-012 Legal / Compliance SDK/trademark/licensing review Proposed / Owner Confirmation Required TBD Required before public/store release.
DEC-013 Software Architect / Storage Owner Local database Proposed / Owner Confirmation Required TBD Recommended: SQLite or equivalent.
DEC-014 Software Architect Bridge choice Proposed / Owner Confirmation Required TBD Recommended: typed bridge; default candidate flutter_rust_bridge.
DEC-020 Product Owner / Legal License model Open TBD Must be decided before public release.

8. Change History

Version Date Description
0.9.0 2026-05-14 Updated decision register with proposed decisions for mobile minimum versions, audio defaults, audio implementation path, legal review, local database, bridge choice, diagnostics policy, and MVP release scope.

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+ for App Store Connect upload on or after 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.