Files
chanora/docs/release/release-readiness-go-nogo-record.md
T
EdisonJwa 02ffadfa52 docs(ptt): land Baseline Candidate v0.9.3 — capability-based desktop PTT
Applies the gen2 desktop-PTT review summary
(`gen2/chanora-desktop-ptt-review-summary-v0.9.2.md`) to our doc set
with the owner rulings PTT-OPEN-001 through PTT-OPEN-006 resolved as
accepted decisions DEC-023 through DEC-028:

  * DEC-023 Windows Global PTT P0 / MVP
  * DEC-024 macOS Global PTT P0 / MVP with permission UX
  * DEC-025 Linux officially-tested env: GNOME on Wayland only
  * DEC-026 Mouse side buttons supported (Win + macOS; Linux portal)
  * DEC-027 PTT diagnostics: capability + availability only, no
            raw key codes ever
  * DEC-028 Missed-key-up watchdog: P0

Requirements (SysRS / SRS) and architecture (SysDes / SAD / SDD)
gain the desktop-PTT ID set the gen2 summary describes:

  SysRS-296..302  -> SysDes-142..148
                  -> SRS-195..203
                  -> SAD-071..079
                  -> SDD-081..092

ID totals advance from 295 / 141 / 194 / 70 / 80 to 302 / 148 / 203
/ 79 / 92. The strict layered sourcing rule (`SRS -> SysDes` only,
`SAD -> SRS` only, `SDD -> SAD` only) is preserved; the
`tools/validate_docs.py` validator reports zero undefined refs and
zero direct-layer-rule violations.

New document:

  * `docs/architecture/desktop-ptt-architecture.md` — capability
    ladder (L0Focused, L1GlobalShortcut, L2GlobalHoldToTalk,
    L3GlobalWithMouseButtons, L4DeviceAware reserved), Windows /
    macOS / Linux strategies, privacy rule, audio-gate rule,
    missed-key-up watchdog, release-readiness evidence requirement,
    traceability summary.

Doc addenda (Baseline Candidate 0.9.3):

  * `privacy/privacy-policy.md` — no raw key history, capability-
    dependent Global PTT, UI reflects actual runtime capability
  * `security/threat-model.md` — THREAT-PTT-001..006
  * `security/diagnostic-redaction-audit-report.md` —
    REDACT-PTT-001..006 banned field list enforced by `PttSanitizer`
  * `release/platform-release-policy.md` — per-platform evidence
    fields, no over-claim on untested Linux compositors
  * `release/release-readiness-go-nogo-record.md` — RR-PTT-001..008
    release-readiness items
  * `verification/swe4-unit-verification-plan.md` —
    SWE4-UV-035..039
  * `verification/swe5-software-integration-verification-plan.md` —
    SWE5-IV-015
  * `verification/swe6-software-verification-plan.md` — SWE6-SV-017
  * `verification/sys4-system-integration-verification-plan.md` —
    SYS4-SIV-016
  * `governance/traceability-matrix.md` — full PTT trace rows +
    verification map
  * `governance/decision-impact-assessment.md` — DEC-023..028
    impact matrix
  * `governance/product-decision-register.md` v0.9.9 entry
    recording DEC-023..028 in the decision table and the status
    table at §7
  * `governance/document-index.md` — adds
    `desktop-ptt-architecture.md` to the controlled set
  * `architecture/proof-of-concept-plan.md` —
    PoC-PTT-001..005 platform items
  * `references/external-references.md` — Windows Raw Input,
    macOS event-tap, Linux GlobalShortcuts portal references
  * Both validation reports
    (`baseline-candidate-validation-report.md`,
    `repo-format-validation-report.md`) bumped to v0.9.3 with the
    new ID totals (302 / 148 / 203 / 79 / 92).

README §"Desktop Push-to-Talk" added between Architecture Overview
and Repository Layout: capability levels, per-platform strategy,
privacy posture, missed-key-up watchdog.

Tooling:

  * `tools/validate_docs.py` copied from the gen2 zip into the
    repo tree (was previously available only inside the zip).
    Reports zero undefined refs, zero direct-layer-rule violations,
    English-only CJK check passes. The 35 "old package-style
    filename" hits are pre-existing and identical to the gen2
    baseline (they live in `path-migration-map.md` and config-ID
    headers of governance docs and are intentional per the path
    migration policy).
  * `.gitignore` adds `/gen2/` so the externally-provided review
    package does not enter the repo.

No code changes in this commit; B (the implementation split into
`transmit_active` / `capture_active`, `PttCapabilityLevel`
reporting, `PttSanitizer` diagnostics rule, and the UI capability
badge) follows in a separate commit.
2026-05-15 14:51:22 +08:00

12 KiB

CHANORA_REL_Release_Readiness_Go_NoGo_Record_v0.9.2.2.1

Document type: Release Readiness Checklist / Go-No-Go Record
Version: 0.9.2
Status: Baseline Candidate
Language: English
Product: Chanora
Repo path: docs/release/release-readiness-go-nogo-record.md ---

1. Purpose

This document records the auditable release readiness decision for a Chanora release.

Design documents alone do not authorize release. A release requires an explicit readiness decision based on scope, build identity, requirement completion, verification evidence, security review, platform readiness, legal/privacy readiness, known risks, and approval.

2. Release Identity

Field Value
Release name TBD by Product Owner
Release type TBD: Internal Alpha / External Beta / MVP Public / Store Release
Release version TBD
Release candidate ID TBD
Release date target TBD
Release owner TBD
Product owner TBD
Engineering owner TBD
QA / verification owner TBD
Security reviewer TBD
Legal / compliance reviewer TBD

3. Build Identity

Field Value
Git repository TBD
Git branch TBD
Git commit SHA TBD
Git tag TBD
iOS App Store Connect upload SDK gate Xcode 26+ and iOS 26 / iPadOS 26 SDK+ for upload on or after 2026-04-28
Platform release policy included Yes
Build number TBD
CI pipeline ID TBD
Build timestamp TBD
Windows artifact TBD
macOS artifact TBD
Linux artifact TBD
Android artifact TBD
iOS artifact TBD
Artifact hash method SHA-256 unless otherwise specified
Artifact hashes TBD

4. Scope Readiness

Question Answer Evidence Owner
Is this release scope defined? TBD Release scope statement Product Owner
Is this release Internal Alpha, External Beta, MVP Public, or Store Release? TBD Release scope statement Product Owner
Are included features listed? TBD Release notes / scope list Product Owner
Are excluded/deferred features listed? TBD Deferred requirements list Product Owner
Are target platforms listed? TBD Platform readiness table Engineering Owner
Are known limitations documented? TBD Known issue register Product Owner / QA

5. Requirements Readiness

Requirement group Status Evidence Deferred items / waiver
P0 / MVP connection requirements TBD SRS/SWE.6 evidence TBD
P0 / MVP channel and state requirements TBD SRS/SWE.6 evidence TBD
P0 / MVP voice requirements TBD SRS/SWE.6 evidence TBD
Audio processing requirements TBD SWE.4/SWE.5/SWE.6 evidence TBD
Storage and secure storage requirements TBD SWE.4/SWE.5/SWE.6 evidence TBD
Diagnostics and redaction requirements TBD SWE.4/SWE.5/SWE.6 evidence TBD
Material 3 / UI requirements TBD SWE.6 evidence TBD
Accessibility requirements TBD SWE.6 evidence TBD
Platform behavior requirements TBD SYS.4/SWE.6 evidence TBD
i18n / Unicode requirements TBD SWE.4/SWE.5/SWE.6 evidence TBD
Traceability requirements TBD Validation report TBD

6. Verification Readiness

Verification layer Required evidence Status Failed items Waivers
SWE.4 Unit Verification Unit verification summary report TBD TBD TBD
SWE.5 Software Integration Verification Integration verification summary report TBD TBD TBD
SWE.6 Software Verification Software verification summary report TBD TBD TBD
SYS.4 System Integration Verification System integration verification summary report TBD TBD TBD
Regression Verification Regression report TBD TBD TBD
Manual exploratory test Test notes TBD TBD TBD

7. Security Readiness

Question Required answer Status Evidence
Is secure storage verified for supported platforms? Yes / waived TBD Security test report
Are secrets excluded from plaintext logs? Yes / waived TBD Redaction test result
Is diagnostic export redaction verified? Yes / waived TBD Diagnostics audit
Is dependency/license scan completed? Yes / waived TBD Dependency scan report
Are high/critical dependency issues resolved or waived? Yes / waived TBD Security waiver record
Are user-facing errors safe and non-sensitive? Yes / waived TBD Review record
Are platform permissions justified? Yes / waived TBD Permission review

8. Platform Readiness

Platform Release status Build artifact Verification status Known blockers Owner
Windows TBD: Go / Conditional Go / No-Go / Not in scope TBD TBD TBD TBD
macOS TBD: Go / Conditional Go / No-Go / Not in scope TBD TBD TBD TBD
Linux TBD: Go / Conditional Go / No-Go / Not in scope TBD TBD TBD TBD
Android TBD: Go / Conditional Go / No-Go / Not in scope TBD TBD TBD TBD
iOS TBD: Go / Conditional Go / No-Go / Not in scope TBD TBD, including Apple App Store SDK gate TBD TBD
Question Required answer Status Evidence Owner
Is the app clearly identified as unofficial and not affiliated with TeamSpeak? Yes TBD App copy / legal notice Legal
Is the TeamSpeak trademark/non-affiliation wording reviewed? Yes TBD Legal review record Legal
Is OSS license review completed? Yes TBD OSS notice / license report Legal / Engineering
Are Rust, Flutter, tsclientlib, and platform dependencies included in OSS review? Yes TBD OSS license report Legal / Engineering
Is privacy policy completed for the release scope? Yes TBD Privacy policy URL/file Legal
Are diagnostics/logging disclosures complete? Yes TBD Privacy policy / in-app notice Legal / Product
Are App Store / Play Store metadata requirements complete if applicable? Yes / N/A TBD Store metadata review Product / Legal

10. Known Issues and Waivers

Issue ID Description Severity Impact Waiver? Waiver owner Expiry / follow-up
TBD TBD TBD TBD TBD TBD TBD
Evidence document Required status before External Beta / Public release
CHANORA_SEC_Threat_Model_v0.9.2.2.1.md Reviewed; v1.0 approved before public release
CHANORA_SEC_Secure_Storage_Audit_Report_v0.9.2.2.1.md Completed for release-scope platforms
CHANORA_SEC_Diagnostic_Redaction_Audit_Report_v0.9.2.2.1.md Completed and approved
CHANORA_SEC_Dependency_And_Supply_Chain_Report_v0.9.2.2.1.md Completed with no unapproved critical/high risk
CHANORA_PRIV_Privacy_Policy_v0.9.2.2.1.md Legal/privacy reviewed; v1.0 approved before public release
CHANORA_LEGAL_Trademark_And_Attribution_Review_v0.9.2.2.1.md Legal reviewed; v1.0 approved before public release

10B. Key Product Decision Gate

Decision Required status before Go
Release type Confirmed
Release platform scope Confirmed
Minimum iOS version Confirmed
Apple App Store SDK gate Confirmed and release-inspected
Minimum Android version Confirmed
Android target SDK policy Confirmed
Multiple active connections in MVP Confirmed
AEC/AGC/NS/HPF default states Confirmed
Audio processing implementation path Confirmed
Legal/trademark/licensing review requirement Confirmed
Local database choice Confirmed
Flutter/Rust bridge choice Confirmed
Diagnostics upload policy Confirmed
Crash reporting policy Confirmed
Product license model Confirmed or explicitly not required for release scope

11. Release Decision

Decision Meaning
Go Release is approved for the stated scope and platforms.
Conditional Go Release is approved only if listed conditions are satisfied.
No-Go Release is not approved.

Decision: TBD: Go / Conditional Go / No-Go

12. Conditional Go Conditions

Condition ID Condition Owner Due date Evidence required
TBD TBD TBD TBD TBD

13. Approval

Role Name Decision Date Evidence / Signature
Product Owner TBD TBD TBD TBD
Engineering Owner TBD TBD TBD TBD
QA / Verification Owner TBD TBD TBD TBD
Security Reviewer TBD TBD TBD TBD
Legal / Compliance Reviewer TBD TBD TBD TBD
Release Manager TBD TBD TBD TBD

14. Change History

Version Date Description
0.9.0 2026-05-14 Initial release readiness and Go/No-Go record template.

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.

Desktop Push-to-Talk Release Readiness Addendum (Baseline Candidate 0.9.3)

The release readiness checklist for every desktop release artefact gains the following items per SysDes-148, SysRS-298, and DEC-023 / DEC-024 / DEC-025 / DEC-026 / DEC-027 / DEC-028.

Item Owner Evidence required Status
RR-PTT-001 Windows Global PTT verified on a Windows reference host. Windows Platform Owner Live measurement of PttCapabilityLevel + backend_id returned at runtime. Backend identifier shall be raw-input (preferred) or low-level-hook (fallback) for Global. Open
RR-PTT-002 macOS Global PTT verified with permission granted on a macOS reference host. macOS Platform Owner Live measurement + permission_state = Granted reported through the Event-Tap backend; UI capability badge screenshot. Open
RR-PTT-003 macOS Focused PTT fallback verified with permission denied. macOS Platform Owner Live measurement of PttCapabilityLevel::L0Focused after revoking Input Monitoring; UI capability badge screenshot showing the fallback notice. Open
RR-PTT-004 Linux Global PTT verified on GNOME-on-Wayland. Linux Platform Owner Live measurement returning gnome-wayland-portal backend identifier from a live GNOME-on-Wayland host; portal binding dialog screenshot. Open
RR-PTT-005 Linux Focused fallback verified on a non-tested compositor (any of: X11, sway, KDE) Linux Platform Owner Live measurement of L0Focused on at least one non-tested compositor; release notes do not claim Global support on the untested environment. Open
RR-PTT-006 Diagnostic export carries no key data. Privacy Reviewer Inspection of a user-initiated diagnostic export captured while PTT is bound to a real key; export shall contain capability_level, backend_id, bound_input_class and shall not contain a recognisable key code. Open
RR-PTT-007 Missed-key-up watchdog timeout demonstrated. Audio Owner Test trace showing transmit_active clearing after the configured 30 s ceiling when the watchdog forces a release. Open
RR-PTT-008 Capability badge matches runtime capability on every supported platform. UX Owner UI screenshot or platform-test trace. Open

A release decision shall be No-Go for any platform whose RR-PTT items are not all closed.

Version Date Description
0.9.3 2026-05-15 Added desktop PTT release-readiness items RR-PTT-001 through RR-PTT-008 covering Windows / macOS / Linux Global verification, permission-denied fallback verification, diagnostic-export privacy inspection, missed-key-up watchdog test, and capability-badge UI verification.