Files
chanora/docs/governance/product-decision-register.md
T
Edison Jwa eb10db5b59 docs(audio): document macOS 13 floor, render peak limiter, and VPIO ducking config
- docs/sysrs.md: raised macOS minimum runtime in SysRS-310 from 10.15 to 13.0 to match the actual floor in apps/chanora_flutter/macos/chanora_bridge.podspec (MACOSX_DEPLOYMENT_TARGET = 13.0) and macos_deployment_target.rb; added a change-log entry for the raise. SysRS-051 gained a note documenting the iOS/macOS audio-lifecycle asymmetry (iOS has full AVAudioSession lifecycle; macOS is limited to launch-time mic permission + VPIO engine restart on default-device change + VPIO startup readback in the current baseline).

- docs/architecture/sdd.md: added two rows to the Audio Detailed Design table. 'Render peak limiter' documents voice_render::limit_peak_inplace (single-pass, allocation-free, threshold 0.99, applied in both Apple render callbacks before i16 downmix). 'VPIO ducking config (macOS 14+)' documents the 8-byte AuVoiceIoOtherAudioDuckingConfiguration struct write to selector 2108 on the VoiceProcessingIO AudioUnit at startup, with the macOS 13 silent-fallback behaviour.

- docs/governance/product-decision-register.md: added DEC-033 recording the VPIO ducking configuration decision (advanced ducking off, level = Min, macOS 14+ only).
2026-06-07 23:27:46 +09:00

1.4 KiB

Chanora Product Decision Register

Document status: DV meeting baseline candidate
Date: 2026-05-29

1. Purpose

This register records product and engineering decisions referenced by the DV document set.

2. Decision Summary

Decision State DV impact
DEC-012 legal/trademark/OSS review Open Blocks public/store release
DEC-020 dual license MIT OR Apache-2.0 Accepted per README Supports license posture; dependency notices still require review
DEC-027 desktop mouse side-button PTT Accepted by requirements baseline Verification must not over-claim unsupported platform input classes
DEC-030 VAD deferral Accepted as deferral VoiceActivity remains disabled/coming-soon
DEC-032 Android CMake patch exit path Active tracking Patched dependency requires reevaluation
DEC-033 macOS VPIO ducking configuration Accepted Write kAUVoiceIOProperty_OtherAudioDuckingConfiguration with mEnableAdvancedDucking=0 (disables dynamic voice-activity-driven ducking) and mDuckingLevel=Min (= 10) to minimise the ducking of other apps' audio during a voice session; property is macOS 14+ only, the macOS 13 set fails silently (debug log) and VPIO uses its default behaviour; matches the iOS .voiceChat baseline on macOS 14+

3. DV Rule

Open decisions that affect release claims must appear in the waiver register or release-readiness record.