# Round 1 QA 交接说明 状态:QA 交接准备稿 所属子项目:`02-P-NBL` Round:Round 1 日期:2026-06-02 ## 1. 当前结论 Round 1 代码级研发预检已经通过,且负责人已经确认仓库迁移基线: ```text privatevoice.src 是正式源码目录,VoiceSnapGo 删除是预期状态。 ``` 当前已创建 Round 1 专用分支: ```text codex/round1-model-profile ``` 当前可进入: ```text QA 基线提交准备 / QA 预检延续 ``` 暂不应进入: ```text 测试包交付 用户验收 发布打包 ``` ## 2. 已完成的研发内容 - `ModelProfile` / `ModelRegistry` - `LanguageProfile` / `LanguageRegistry` 最小实现 - `RequiredFileRule`,支持 `AllOf` / `AnyOf` - `ModelInstallState` / `models/state.json` - `ModelResolver` / `ResolvedModel` - `sensevoice-zh` profile - `SelectedModelID` 隐藏配置 - `engine.New()` 兼容入口改造 - 平台 engine 使用 `ResolvedModel` - 下载器 staging + 校验 + 安全落盘 - primary 坏包时尝试 fallback URL - `state.json` 路径逃逸防护 - macOS provider 使用 profile `ProviderOrder` - engine 初始化失败状态区分 - `EngineService.GetStatus()` 前端补查接口 - Onboarding 处理 `need_model + error` - Round 1 fake fixture ## 3. 已通过的自动化验证 已执行并通过: ```bash cd privatevoice.src/frontend && npm run build cd privatevoice.src && go test ./internal/model -count=1 cd privatevoice.src && go test ./... -count=1 ``` 说明: - 前端构建通过。 - 前端仍有既有 Svelte a11y warning,不是本轮引入。 - 真实模型、真机麦克风、断网识别尚未验证。 ## 4. 当前 git 状态处理 已确认并按本轮范围暂存: - `privatevoice.src/` 正式源码。 - 旧 `VoiceSnapGo/` 目录删除。 - `02-P-NBL/` 子项目文档。 - `.gitignore` 中 `privatevoice.src` 生成物忽略规则。 暂未纳入本轮: - 根目录 `CHANGELOG.md` 既有改动。 - 根目录 `TODO.md` 既有改动。 - 根目录 `README.md` 删除状态。 - `docs/`、`Op/`、`Release/` 等未跟踪目录。 已确认未暂存: - `privatevoice.src/frontend/node_modules/` - `privatevoice.src/frontend/dist/` - `privatevoice.src/build/local/` - `privatevoice.src/build/appstore-local/` - `.dmg` / `.app` 等构建产物。 ## 5. 正式 QA 前需要解决 正式 QA 仍需要: 1. 生成固定 commit。 2. 记录 commit id。 3. 明确 QA 启动方式:本地命令或测试包。 4. 执行真机真实模型验证。 ## 6. QA 真机验证仍需执行 不管选择 A 还是 B,正式 QA 都必须执行: - 真实 SenseVoice 模型下载。 - 真实 SenseVoice 初始化。 - 老用户旧 `models/sensevoice` 断网升级路径。 - 新用户 `models/sensevoice-zh` 下载路径。 - 麦克风权限未授权 / 已授权。 - 辅助功能或上屏权限回归。 - 真实录音识别。 - replacement。 - 历史写入。 - 已有模型时断网启动、录音、识别、写历史。 - 识别阶段网络观察。 - 菜单栏、Dock、窗口层级、全屏、Split View smoke。 ## 7. 当前建议 建议当前先不要打测试包。 建议下一步: ```text 固定 commit,然后进入正式 QA。测试包需在 QA 验证通过后按发布规则另行生成。 ```