# P1 Beta Agent Spec — Harden After MVP ## Objective Improve reliability, beta readiness, accessibility coverage, diagnostics usefulness, and platform quality after P0 works end-to-end. ## Entry Gate Do not start P1 until P0 MVP acceptance is passing or blockers are formally recorded. ## P1 Scope - Harden reconnection/error handling beyond MVP happy path. - Expand integration/system tests and beta acceptance evidence. - Improve accessibility, keyboard workflows, adaptive layout edge cases, and localization completeness. - Improve diagnostics quality without changing the privacy model. - Prepare external beta release notes, support workflows, and known-issue tracking. ## P1 Non-Goals - No telemetry by default. - No automatic diagnostic upload. - No multiple active server connections unless a new accepted decision overrides DEC-006. - No production/store launch gates unless explicitly promoted to P2. ## P1 Definition of Done - P0 regressions remain passing. - Beta blockers are triaged and traceable. - Diagnostic exports are useful for support while still redacted and local. - Platform-specific beta risks have owner/status records. ## P1 Requirement Index - Count: 81 - ID groups: SAD-035..SAD-066 (18 ids); SDD-051..SDD-109 (20 ids); SRS-028..SRS-191 (38 ids); SysDes-122, SysDes-123, SysDes-124, SysDes-125, SysDes-138 ## P1 Source Weighting - `requirements/srs.md`: 38 - `architecture/sdd.md`: 20 - `architecture/sad.md`: 18 - `architecture/sysdes.md`: 5 ## P1 Allocation Hotspots - Unallocated: 20 - Diagnostics: 14 - Audio Subsystem: 13 - Flutter UI: 9 - Platform Adapters: 9 - Deployment Scripts: 7 - Software Architecture: 6 - Application Container: 6 - Storage: 5 - Protocol Adapter: 5 - Localization Service: 5 - Bridge: 4 - Flutter App Shell: 4 - Software Design: 4 - Platform Adapter: 4 - Platform Audio Adapter: 3 - State Sync: 3 - Rust Core: 3 - Verification Support: 2 - Flutter State: 2