# 目录收拢与冻结前审计记录 日期:2026-06-03 ## 目标 将此前分散在多个临时 worktree 中的项目资料与构建产物,收拢到正式项目目录: ```text /Users/ar/Projects/PrivateVoice ``` 本次只做无破坏收拢: - 不删除旧目录。 - 不移动旧 worktree。 - 不覆盖已有文件。 - 不改变最新冻结源码 tag。 ## 正式目录 | 项目 | 值 | |---|---| | 正式目录 | `/Users/ar/Projects/PrivateVoice` | | 分支 | `codex/privatevoice-freeze-2.1.25` | | 当前 HEAD | `5de2a0495c233e6f12ae1ebb6e71cb6c73fbbc72` | | 最新源码 tag | `v2.1.25-build20260603.2102` | | 最新源码 tag 指向 | `a149d7b7bbbcc330b12ef0aa6b3d07d8ddaa860e` | 说明:`a149d7b` 是生成 `2.1.25 build 20260603.2102` 的源码 commit;`5de2a04` 是随后记录 release manifest 的资料 commit。 ## 已收拢目录 ### 项目资料 Round 资料已统一放回: ```text /Users/ar/Projects/PrivateVoice/02-P-NBL ``` 当前包含: - `round-1` - `round-2` - `round-3` - `round-4` - `round-5` - 总体 `product-plan.md` - 总体 `engineering-plan.md` - 总体 `plan.md` 补充收拢内容: - Round 1 最终 QA 报告:`02-P-NBL/round-1/qa-report-20260602-2.1.19.md` - Round 1 QA runtime 日志。 - Round 2 QA runtime 日志。 未收拢内容: - `QA-backups/` 用户环境备份目录未复制,避免把真实用户数据备份混入正式项目资料。 ### Release 产物 构建产物已统一放回: ```text /Users/ar/Projects/PrivateVoice/Release ``` 当前 Release 目录包含: - 13 份 `SHA256SUMS.txt` - 27 份 `.dmg` - 当前主线候选包:`PrivateVoice-Dictation-2.1.25-build20260603.2102` - 历史主线包:`2.1.18` 到 `2.1.23` - 旧版归档:`Release/X-旧版build成果` 没有收拢的原目录杂项: - `/Users/ar/Projects/VoiceSnap-2.1.1/Release/Github` - `/Users/ar/Projects/VoiceSnap-2.1.1/Release/PrivateVoice私语输入.md` 原因:上述内容不是标准 build 目录,未纳入本次冻结前构建产物收拢。 ## 校验结果 已执行: ```bash find Release -name SHA256SUMS.txt -print0 | sort -z | while IFS= read -r -d '' f; do d=$(dirname "$f") (cd "$d" && shasum -a 256 -c SHA256SUMS.txt) done ``` 结果: - `2.1.18` 到 `2.1.25` 已有 SHA256 记录的 DMG:全部 `OK`。 - 旧版归档中已有 SHA256 记录的 DMG:全部 `OK`。 修正项: - `Release/PrivateVoice-Input-2.1.23-build20260603.1904/SHA256SUMS.txt` 原本记录了带 `Release/...` 前缀的路径,已改为目录内文件名,便于统一执行 `shasum -c`。 ## 临时 worktree 处理策略 以下旧目录暂不删除: ```text /Users/ar/Projects/VoiceSnap-2.1.1 /Users/ar/Projects/VoiceSnap-2.1.1-QA-build /Users/ar/Projects/VoiceSnap-2.1.1-Round2 /Users/ar/Projects/VoiceSnap-2.1.1-Round3 /Users/ar/Projects/VoiceSnap-2.1.1-Round4 /Users/ar/Projects/VoiceSnap-2.1.1-Round5 ``` 原因: - 它们是 git worktree,不是普通临时目录。 - 部分目录仍有未提交或未跟踪资料。 - 今晚冻结和上架前,优先保证正式目录完整可用,不做删除类操作。 后续建议: 1. 先完成 `/Users/ar/Projects/PrivateVoice` 的版本冻结和上架资料准备。 2. 冻结确认后,再按 `git worktree remove` 流程清理旧 worktree。 3. 清理前再次确认旧目录内没有未收拢资料。 ## 当前结论 `/Users/ar/Projects/PrivateVoice` 已成为后续工作的正式目录。 今晚继续冻结、上架资料准备、正式包整理,都应在该目录进行。