From abdb22f7391d4128a4f89d8b668781061aedf86d Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 30 Jun 2026 03:15:49 +0800
Subject: [PATCH] Add Windows preview build

---
 02-P-NBL/round-4/qa-report.md |   43 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/02-P-NBL/round-4/qa-report.md b/02-P-NBL/round-4/qa-report.md
index 1d53bd4..718d01e 100644
--- a/02-P-NBL/round-4/qa-report.md
+++ b/02-P-NBL/round-4/qa-report.md
@@ -1,9 +1,9 @@
 # Round 4 QA 报告:Parakeet English 高级模型
 
-状态:部分通过,待断网英文识别
+状态:真机 QA 已通过,测试包已生成并 tag,用户验收通过
 日期:2026-06-03
 测试分支:`codex/round4-parakeet-english`
-当前实现 commit:`ce96a0e`
+当前实现 commit:`95c5cdd`
 
 ## 1. 自动化与构建
 
@@ -35,6 +35,8 @@
 | Moonshine 英文识别 | PASS | 15:18:27 识别 `This is a most shy fullback test.`,并写入历史 |
 | 中文 SenseVoice 回归 | PASS | 15:19:24 日志显示 `ASR engine ready: SenseVoice · CoreML (Apple Neural Engine)` |
 | SenseVoice 中文识别 | PASS | 15:29:18 识别 `这是中文 since voice 回归测试。`,并写入历史 |
+| Parakeet 重启持久化 | PASS | 重启 App 后配置保持 English + `parakeet-en`,15:48:53 日志显示 `ASR engine ready: Parakeet English · CPU` |
+| Parakeet 断网英文识别 | PASS | Wi-Fi 关闭窗口 `15:49:33 - 15:50:33`;15:49:59 识别 `An offline test`,15:50:05 识别 `An offline test, parakeet test.`,并写入历史 |
 | 下载失败保护 | PASS | 中途 App 退出后 Moonshine 仍可用;补丁后下一次下载会清理旧 partial |
 | 用户数据保护 | PASS | `history.json`、`userdict.json`、`config.json` 未丢失,历史持续写入 |
 
@@ -68,11 +70,40 @@
 
 - 补丁后重新下载时旧 partial 被清理,新 run 从 0 开始,最终成功安装。
 
-## 4. 待完成项
+## 4. 用户验收
 
-- Parakeet 断网英文识别。
-- 断网后重启 App,确认 Parakeet 仍可加载并识别。
+用户已于 2026-06-03 确认:
 
-## 5. QA 观察项
+```text
+Round 4 用户验收通过
+```
+
+本状态表示 `2.1.22 build 20260603.1608` 从“验收候选包”升级为“验收通过包”。按发布版本规则,这仍不是 Developer ID notarized 正式发布包。
+
+## 5. 测试包
+
+| 项 | 值 |
+|---|---|
+| Version | `2.1.22` |
+| Build | `20260603.1608` |
+| Source commit | `95c5cdd691f173ead217f7a3df8b46f7fc2b0737` |
+| Release tag | `v2.1.22-build20260603.1608` |
+| Release 目录 | `/Users/ar/Projects/VoiceSnap-2.1.1-Round4/Release/PrivateVoice-Input-2.1.22-build20260603.1608` |
+| arm64 DMG | `PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg` |
+| x86_64 DMG | `PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg` |
+| Manifest | `RELEASE_MANIFEST.md` |
+| SHA256 | `SHA256SUMS.txt` |
+
+DMG 验证:
+
+- arm64 `hdiutil verify`:PASS。
+- x86_64 `hdiutil verify`:PASS。
+- arm64/x86_64 包内结构检查:PASS,均包含 `PrivateVoice Input.app` 和 `Applications -> /Applications` 链接。
+- arm64/x86_64 包内 App 元数据:PASS,均为 `2.1.22 build 20260603.1608`。
+- arm64 候选包安装到 `/Applications`:PASS,安装后 App 元数据和签名验证通过。
+- 已安装候选包启动 smoke:PASS,启动日志显示 `version=2.1.22 build=20260603.1608`,并加载 `Parakeet English · CPU`。
+
+## 6. QA 观察项
 
 - 中文回归测试后日志出现短时间多次模型初始化记录:`sensevoice-zh`、`moonshine-en`、`sensevoice-zh`。最终状态回到 `SenseVoice · CoreML (Apple Neural Engine)`,功能结果通过。建议后续继续观察是否存在设置页快速切换或异步 reload 触发的初始化交叉。
+- 断网测试期间,日志和 `history.json` 均证明 Parakeet 离线识别成功;TextEdit 指定窗口未新增对应两句,疑似实际焦点切换到其他输入框。本轮将“模型离线识别和历史写入”作为通过依据,不把“指定 TextEdit 上屏”记为已验证事实。

--
Gitblit v1.9.3