From 7a6b1d5487dec384ea3c93b7178e71d6a99d863b Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 03 Jun 2026 16:17:17 +0800
Subject: [PATCH] Add Round 4 QA package artifacts
---
Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-arm64.log | 146 ++++++++++++++++++
02-P-NBL/round-4/qa-report.md | 25 ++
Release/PrivateVoice-Input-2.1.22-build20260603.1608/RELEASE_MANIFEST.md | 86 ++++++++++
Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/verify-dmgs.log | 36 ++++
Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-x86_64.log | 145 ++++++++++++++++++
Release/PrivateVoice-Input-2.1.22-build20260603.1608/SHA256SUMS.txt | 2
02-P-NBL/round-4/todo-list.md | 8
7 files changed, 440 insertions(+), 8 deletions(-)
diff --git a/02-P-NBL/round-4/qa-report.md b/02-P-NBL/round-4/qa-report.md
index 589c8af..7578a78 100644
--- a/02-P-NBL/round-4/qa-report.md
+++ b/02-P-NBL/round-4/qa-report.md
@@ -1,6 +1,6 @@
# Round 4 QA 报告:Parakeet English 高级模型
-状态:真机 QA 已通过,待测试包交付
+状态:真机 QA 已通过,测试包已生成,待 tag
日期:2026-06-03
测试分支:`codex/round4-parakeet-english`
当前实现 commit:`a188fdf`
@@ -72,11 +72,28 @@
## 4. 待完成项
-- 生成 Round 4 测试包。
-- 生成并验证 `RELEASE_MANIFEST.md`。
+- 创建 release tag。
- 测试包交付后的用户验收。
-## 5. QA 观察项
+## 5. 测试包
+
+| 项 | 值 |
+|---|---|
+| Version | `2.1.22` |
+| Build | `20260603.1608` |
+| Source commit | `95c5cdd691f173ead217f7a3df8b46f7fc2b0737` |
+| 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。
+
+## 6. QA 观察项
- 中文回归测试后日志出现短时间多次模型初始化记录:`sensevoice-zh`、`moonshine-en`、`sensevoice-zh`。最终状态回到 `SenseVoice · CoreML (Apple Neural Engine)`,功能结果通过。建议后续继续观察是否存在设置页快速切换或异步 reload 触发的初始化交叉。
- 断网测试期间,日志和 `history.json` 均证明 Parakeet 离线识别成功;TextEdit 指定窗口未新增对应两句,疑似实际焦点切换到其他输入框。本轮将“模型离线识别和历史写入”作为通过依据,不把“指定 TextEdit 上屏”记为已验证事实。
diff --git a/02-P-NBL/round-4/todo-list.md b/02-P-NBL/round-4/todo-list.md
index f8cebb4..0b63598 100644
--- a/02-P-NBL/round-4/todo-list.md
+++ b/02-P-NBL/round-4/todo-list.md
@@ -51,10 +51,10 @@
## 5. 交付
-- [ ] 测试包版本递增
-- [ ] 生成 `.dmg`
-- [ ] 生成 `RELEASE_MANIFEST.md`
-- [ ] 验证 `.dmg`
+- [x] 测试包版本递增
+- [x] 生成 `.dmg`
+- [x] 生成 `RELEASE_MANIFEST.md`
+- [x] 验证 `.dmg`
- [ ] tag
- [ ] 用户验收候选包
- [ ] 用户验收
diff --git a/Release/PrivateVoice-Input-2.1.22-build20260603.1608/RELEASE_MANIFEST.md b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/RELEASE_MANIFEST.md
new file mode 100644
index 0000000..f3c99fb
--- /dev/null
+++ b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/RELEASE_MANIFEST.md
@@ -0,0 +1,86 @@
+# Release Manifest: PrivateVoice Input 2.1.22 build 20260603.1608
+
+生成时间:2026-06-03 16:14 HKT
+
+执行代理:Codex
+
+包类型:Round 4 验收候选测试包,本地签名,未 notarize。
+
+## 1. 版本
+
+| 字段 | 值 |
+|---|---|
+| Product | PrivateVoice Input |
+| Version | 2.1.22 |
+| Build | 20260603.1608 |
+| Branch | codex/round4-parakeet-english |
+| Source Commit | `95c5cdd691f173ead217f7a3df8b46f7fc2b0737` |
+| Source Commit Short | `95c5cdd` |
+| Source Commit Time | 2026-06-03 16:12:21 +0800 |
+| Source Commit Subject | Prepare Round 4 QA package version |
+
+## 2. 主要变更
+
+- English 语言版本新增可选高级模型 `parakeet-en`。
+- 新增 sherpa-onnx NeMo Transducer backend:`nemo_transducer`。
+- 设置页新增 English 模型选择卡片,可在 Moonshine 和 Parakeet 之间切换。
+- 下载中断不会破坏已有模型;同模型重新下载前清理旧 partial。
+- 中文 SenseVoice 默认路径保持不变。
+
+## 3. 构建命令
+
+```bash
+cd privatevoice.src
+./scripts/build-local-macos.sh arm64
+./scripts/build-local-macos.sh x86_64
+```
+
+## 4. 验证命令
+
+```bash
+cd privatevoice.src
+go test ./... -count=1
+cd frontend && npm run build
+cd ../..
+git diff --check
+hdiutil verify "Release/PrivateVoice-Input-2.1.22-build20260603.1608/PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg"
+hdiutil verify "Release/PrivateVoice-Input-2.1.22-build20260603.1608/PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg"
+```
+
+## 5. 产物
+
+| 架构 | 文件 | 大小 | SHA256 |
+|---|---|---:|---|
+| arm64 | `PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg` | 19M | `0ee134507204efc54735b05ad040c9e4645acce4426b810d09d0002b93d23e44` |
+| x86_64 | `PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg` | 22M | `467af6e0859d731b3f73ee868c45aa294b6a71800d411f24e093ba7648071492` |
+
+产物目录:
+
+```text
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/Release/PrivateVoice-Input-2.1.22-build20260603.1608
+```
+
+## 6. 验证结果
+
+- `go test ./... -count=1`:PASS。
+- `npm run build`:PASS;仍有既有 Svelte a11y warning,非 Round 4 新增。
+- `git diff --check`:PASS。
+- arm64 DMG `hdiutil verify`:PASS。
+- x86_64 DMG `hdiutil verify`:PASS。
+- App 签名验证:PASS,本地签名身份 `PrivateVoice Local Code Signing`。
+
+## 7. QA 证据
+
+- Parakeet 下载、加载、识别:PASS。
+- Parakeet 断网识别:PASS,Wi-Fi 关闭窗口 `2026-06-03 15:49:33 - 15:50:33` 内识别:
+ - `An offline test`
+ - `An offline test, parakeet test.`
+- Parakeet 重启持久化:PASS。
+- Moonshine 回退:PASS。
+- 中文 SenseVoice 回归:PASS。
+- 用户历史、词库、配置数据保护:PASS。
+
+## 8. 备注
+
+- 本包为本地签名测试包,不是 Developer ID notarized 正式发布包。
+- release tag 应绑定到 Source Commit:`95c5cdd691f173ead217f7a3df8b46f7fc2b0737`。
diff --git a/Release/PrivateVoice-Input-2.1.22-build20260603.1608/SHA256SUMS.txt b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/SHA256SUMS.txt
new file mode 100644
index 0000000..3316aa5
--- /dev/null
+++ b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/SHA256SUMS.txt
@@ -0,0 +1,2 @@
+0ee134507204efc54735b05ad040c9e4645acce4426b810d09d0002b93d23e44 PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg
+467af6e0859d731b3f73ee868c45aa294b6a71800d411f24e093ba7648071492 PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg
diff --git a/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-arm64.log b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-arm64.log
new file mode 100644
index 0000000..7a9bd34
--- /dev/null
+++ b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-arm64.log
@@ -0,0 +1,146 @@
+
+==> Preflight checks
+Using existing local signing identity: PrivateVoice Local Code Signing
+
+==> Cleaning old local build
+
+==> Building frontend
+
+> privatevoice-input-frontend@2.1.22 build
+> vite build
+
+vite v6.4.1 building for production...
+transforming...
+4:13:10 PM [vite-plugin-svelte] src/components/update/UpdateDialog.svelte:28:0 Elements with the 'dialog' interactive role must have a tabindex value
+https://svelte.dev/e/a11y_interactive_supports_focus
+26:
+27: <!-- svelte-ignore a11y_click_events_have_key_events -->
+28: <div class="overlay" onclick={onclose} role="dialog">
+ ^
+29: <!-- svelte-ignore a11y_click_events_have_key_events -->
+30: <div class="dialog" onclick={(e) => e.stopPropagation()} role="document">
+4:13:10 PM [vite-plugin-svelte] src/components/update/UpdateDialog.svelte:30:2 Non-interactive element `<div>` should not be assigned mouse or keyboard event listeners
+https://svelte.dev/e/a11y_no_noninteractive_element_interactions
+28: <div class="overlay" onclick={onclose} role="dialog">
+29: <!-- svelte-ignore a11y_click_events_have_key_events -->
+30: <div class="dialog" onclick={(e) => e.stopPropagation()} role="document">
+ ^
+31: <h2 class="title">{t('update.title')}</h2>
+32: <p class="version">{t('update.version', { version: info.version })}</p>
+4:13:10 PM [vite-plugin-svelte] src/components/shared/ToggleSwitch.svelte:17:0 Buttons and links should either contain text or have an `aria-label`, `aria-labelledby` or `title` attribute
+https://svelte.dev/e/a11y_consider_explicit_label
+15: </script>
+16:
+17: <button
+ ^
+18: class="toggle"
+19: class:active={checked}
+✓ 163 modules transformed.
+rendering chunks...
+computing gzip size...
+dist/index.html 0.41 kB │ gzip: 0.28 kB
+dist/assets/app-icon-Bs-pS5hx.png 400.98 kB
+dist/assets/index-Bm3gykhy.css 35.00 kB │ gzip: 5.92 kB
+dist/assets/index-QkfSvZCU.js 142.09 kB │ gzip: 47.42 kB
+✓ built in 1.06s
+
+==> Building Go binary (arm64)
+# voicesnap
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/go.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000000.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000001.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000002.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000003.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000004.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000005.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000006.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000007.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000028.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000029.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000030.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000031.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000032.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000033.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000034.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000035.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000036.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000037.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000038.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000039.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000040.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000041.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000042.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000043.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000044.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000045.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000046.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000047.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000048.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000049.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000050.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000051.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000052.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000053.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000054.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-769475440/000055.o) was built for newer 'macOS' version (26.0) than being linked (11.0)
+ld: warning: building for macOS-11.0, but linking with dylib '@rpath/libonnxruntime.1.23.2.dylib' which was built for newer version 13.4
+
+==> Assembling PrivateVoice Input.app
+
+==> Fixing rpaths
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib
+
+==> Code signing with stable local identity
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib: replacing existing signature
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/Frameworks/libsherpa-onnx-c-api.dylib: replacing existing signature
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/MacOS/PrivateVoice Input: replacing existing signature
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app: replacing existing signature
+
+==> Verifying app signature
+--prepared:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/Frameworks/libsherpa-onnx-c-api.dylib
+--validated:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/Frameworks/libsherpa-onnx-c-api.dylib
+--prepared:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib
+--validated:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app: valid on disk
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app: satisfies its Designated Requirement
+Executable=/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app/Contents/MacOS/PrivateVoice Input
+Identifier=com.privatevoice.input
+Format=app bundle with Mach-O thin (arm64)
+CodeDirectory v=20500 size=28343 flags=0x10000(runtime) hashes=875+7 location=embedded
+Signature size=1830
+Authority=PrivateVoice Local Code Signing
+Signed Time=Jun 3, 2026 at 16:13:13
+Info.plist entries=12
+TeamIdentifier=not set
+Runtime Version=26.2.0
+Sealed Resources version=2 rules=13 files=3
+Internal requirements count=1 size=100
+
+==> Creating DMG
+created: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg
+
+==> Signing DMG
+正在检查“Protective Master Boot Record(MBR:0)”的校验和…
+Protective Master Boot Record(MBR:0):已验证CRC32 $A8E7551D
+正在检查“GPT Header(Primary GPT Header:1)”的校验和…
+ GPT Header(Primary GPT Header:1):已验证CRC32 $E7D9368B
+正在检查“GPT Partition Data(Primary GPT Table:2)”的校验和…
+GPT Partition Data(Primary GPT Table:已验证CRC32 $838880CC
+正在检查“(Apple_Free:3)”的校验和…
+ (Apple_Free:3):已验证CRC32 $00000000
+正在检查“disk image(Apple_APFS:4)”的校验和…
+ disk image(Apple_APFS:4):已验证CRC32 $D089227E
+正在检查“(Apple_Free:5)”的校验和…
+ (Apple_Free:5):已验证CRC32 $00000000
+正在检查“GPT Partition Data(Backup GPT Table:6)”的校验和…
+GPT Partition Data(Backup GPT Table::已验证CRC32 $838880CC
+正在检查“GPT Header(Backup GPT Header:7)”的校验和…
+ GPT Header(Backup GPT Header:7):已验证CRC32 $C9CD15CB
+已验证CRC32 $D5D4A5F2
+hdiutil: verify: checksum of "/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg" is VALID
+
+==> Local build complete
+ App: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input.app
+ DMG: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg
+ Compatibility DMG: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/arm64/PrivateVoice Input-2.1.22-arm64-local.dmg
+ Signing identity: PrivateVoice Local Code Signing
diff --git a/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-x86_64.log b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-x86_64.log
new file mode 100644
index 0000000..20bea9f
--- /dev/null
+++ b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/build-x86_64.log
@@ -0,0 +1,145 @@
+
+==> Preflight checks
+Using existing local signing identity: PrivateVoice Local Code Signing
+
+==> Cleaning old local build
+
+==> Building frontend
+
+> privatevoice-input-frontend@2.1.22 build
+> vite build
+
+vite v6.4.1 building for production...
+transforming...
+4:13:42 PM [vite-plugin-svelte] src/components/update/UpdateDialog.svelte:28:0 Elements with the 'dialog' interactive role must have a tabindex value
+https://svelte.dev/e/a11y_interactive_supports_focus
+26:
+27: <!-- svelte-ignore a11y_click_events_have_key_events -->
+28: <div class="overlay" onclick={onclose} role="dialog">
+ ^
+29: <!-- svelte-ignore a11y_click_events_have_key_events -->
+30: <div class="dialog" onclick={(e) => e.stopPropagation()} role="document">
+4:13:43 PM [vite-plugin-svelte] src/components/update/UpdateDialog.svelte:30:2 Non-interactive element `<div>` should not be assigned mouse or keyboard event listeners
+https://svelte.dev/e/a11y_no_noninteractive_element_interactions
+28: <div class="overlay" onclick={onclose} role="dialog">
+29: <!-- svelte-ignore a11y_click_events_have_key_events -->
+30: <div class="dialog" onclick={(e) => e.stopPropagation()} role="document">
+ ^
+31: <h2 class="title">{t('update.title')}</h2>
+32: <p class="version">{t('update.version', { version: info.version })}</p>
+4:13:43 PM [vite-plugin-svelte] src/components/shared/ToggleSwitch.svelte:17:0 Buttons and links should either contain text or have an `aria-label`, `aria-labelledby` or `title` attribute
+https://svelte.dev/e/a11y_consider_explicit_label
+15: </script>
+16:
+17: <button
+ ^
+18: class="toggle"
+19: class:active={checked}
+✓ 163 modules transformed.
+rendering chunks...
+computing gzip size...
+dist/index.html 0.41 kB │ gzip: 0.28 kB
+dist/assets/app-icon-Bs-pS5hx.png 400.98 kB
+dist/assets/index-Bm3gykhy.css 35.00 kB │ gzip: 5.92 kB
+dist/assets/index-QkfSvZCU.js 142.09 kB │ gzip: 47.42 kB
+✓ built in 1.26s
+
+==> Building Go binary (x86_64)
+# voicesnap
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/go.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000000.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000001.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000002.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000003.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000004.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000005.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000006.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000007.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000028.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000029.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000030.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000031.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000032.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000033.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000034.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000035.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000036.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000037.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000038.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000039.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000040.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000041.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000042.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000043.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000044.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000045.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000046.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000047.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000048.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000049.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000050.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000051.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000052.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000053.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000054.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: object file (/private/var/folders/tz/gdr6h5t96cj4r08kchkjx2b00000gn/T/go-link-3182566441/000055.o) was built for newer 'macOS' version (26.0) than being linked (10.13)
+ld: warning: building for macOS-10.13, but linking with dylib '@rpath/libsherpa-onnx-c-api.dylib' which was built for newer version 10.15
+ld: warning: building for macOS-10.13, but linking with dylib '@rpath/libonnxruntime.1.23.2.dylib' which was built for newer version 13.4
+
+==> Assembling PrivateVoice Input.app
+
+==> Fixing rpaths
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: warning: changes being made to the file will invalidate the code signature in: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib
+
+==> Code signing with stable local identity
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib: replacing existing signature
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app: replacing existing signature
+
+==> Verifying app signature
+--prepared:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app/Contents/Frameworks/libsherpa-onnx-c-api.dylib
+--validated:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app/Contents/Frameworks/libsherpa-onnx-c-api.dylib
+--prepared:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib
+--validated:/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app/Contents/Frameworks/libonnxruntime.1.23.2.dylib
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app: valid on disk
+/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app: satisfies its Designated Requirement
+Executable=/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app/Contents/MacOS/PrivateVoice Input
+Identifier=com.privatevoice.input
+Format=app bundle with Mach-O thin (x86_64)
+CodeDirectory v=20500 size=122423 flags=0x10000(runtime) hashes=3815+7 location=embedded
+Signature size=1830
+Authority=PrivateVoice Local Code Signing
+Signed Time=Jun 3, 2026 at 16:13:51
+Info.plist entries=12
+TeamIdentifier=not set
+Runtime Version=26.2.0
+Sealed Resources version=2 rules=13 files=3
+Internal requirements count=1 size=100
+
+==> Creating DMG
+created: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg
+
+==> Signing DMG
+正在检查“Protective Master Boot Record(MBR:0)”的校验和…
+Protective Master Boot Record(MBR:0):已验证CRC32 $17A818FC
+正在检查“GPT Header(Primary GPT Header:1)”的校验和…
+ GPT Header(Primary GPT Header:1):已验证CRC32 $49215E62
+正在检查“GPT Partition Data(Primary GPT Table:2)”的校验和…
+GPT Partition Data(Primary GPT Table:已验证CRC32 $DA82D8C1
+正在检查“(Apple_Free:3)”的校验和…
+ (Apple_Free:3):已验证CRC32 $00000000
+正在检查“disk image(Apple_APFS:4)”的校验和…
+ disk image(Apple_APFS:4):已验证CRC32 $2092246F
+正在检查“(Apple_Free:5)”的校验和…
+ (Apple_Free:5):已验证CRC32 $00000000
+正在检查“GPT Partition Data(Backup GPT Table:6)”的校验和…
+GPT Partition Data(Backup GPT Table::已验证CRC32 $DA82D8C1
+正在检查“GPT Header(Backup GPT Header:7)”的校验和…
+ GPT Header(Backup GPT Header:7):已验证CRC32 $7B35C002
+已验证CRC32 $E0186CC6
+hdiutil: verify: checksum of "/Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg" is VALID
+
+==> Local build complete
+ App: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input.app
+ DMG: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg
+ Compatibility DMG: /Users/ar/Projects/VoiceSnap-2.1.1-Round4/privatevoice.src/build/local/x86_64/PrivateVoice Input-2.1.22-x86_64-local.dmg
+ Signing identity: PrivateVoice Local Code Signing
diff --git a/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/verify-dmgs.log b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/verify-dmgs.log
new file mode 100644
index 0000000..12bcddd
--- /dev/null
+++ b/Release/PrivateVoice-Input-2.1.22-build20260603.1608/logs/verify-dmgs.log
@@ -0,0 +1,36 @@
+正在检查“Protective Master Boot Record(MBR:0)”的校验和…
+Protective Master Boot Record(MBR:0):已验证CRC32 $A8E7551D
+正在检查“GPT Header(Primary GPT Header:1)”的校验和…
+ GPT Header(Primary GPT Header:1):已验证CRC32 $E7D9368B
+正在检查“GPT Partition Data(Primary GPT Table:2)”的校验和…
+GPT Partition Data(Primary GPT Table:已验证CRC32 $838880CC
+正在检查“(Apple_Free:3)”的校验和…
+ (Apple_Free:3):已验证CRC32 $00000000
+正在检查“disk image(Apple_APFS:4)”的校验和…
+ disk image(Apple_APFS:4):已验证CRC32 $D089227E
+正在检查“(Apple_Free:5)”的校验和…
+ (Apple_Free:5):已验证CRC32 $00000000
+正在检查“GPT Partition Data(Backup GPT Table:6)”的校验和…
+GPT Partition Data(Backup GPT Table::已验证CRC32 $838880CC
+正在检查“GPT Header(Backup GPT Header:7)”的校验和…
+ GPT Header(Backup GPT Header:7):已验证CRC32 $C9CD15CB
+已验证CRC32 $D5D4A5F2
+hdiutil: verify: checksum of "PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg" is VALID
+正在检查“Protective Master Boot Record(MBR:0)”的校验和…
+Protective Master Boot Record(MBR:0):已验证CRC32 $17A818FC
+正在检查“GPT Header(Primary GPT Header:1)”的校验和…
+ GPT Header(Primary GPT Header:1):已验证CRC32 $49215E62
+正在检查“GPT Partition Data(Primary GPT Table:2)”的校验和…
+GPT Partition Data(Primary GPT Table:已验证CRC32 $DA82D8C1
+正在检查“(Apple_Free:3)”的校验和…
+ (Apple_Free:3):已验证CRC32 $00000000
+正在检查“disk image(Apple_APFS:4)”的校验和…
+ disk image(Apple_APFS:4):已验证CRC32 $2092246F
+正在检查“(Apple_Free:5)”的校验和…
+ (Apple_Free:5):已验证CRC32 $00000000
+正在检查“GPT Partition Data(Backup GPT Table:6)”的校验和…
+GPT Partition Data(Backup GPT Table::已验证CRC32 $DA82D8C1
+正在检查“GPT Header(Backup GPT Header:7)”的校验和…
+ GPT Header(Backup GPT Header:7):已验证CRC32 $7B35C002
+已验证CRC32 $E0186CC6
+hdiutil: verify: checksum of "PrivateVoice Input-2.1.22-build20260603.1608-x86_64-local.dmg" is VALID
--
Gitblit v1.9.3