| | |
| | | ## 项目属性 |
| | | |
| | | 项目类型:研发项目 |
| | | 主要产物:Wails / Go 桌面语音输入 App |
| | | 主要产物:Wails v3 / Go 桌面语音输入 App |
| | | |
| | | ## 1. 命令输出保护 |
| | | ## 读取顺序 |
| | | |
| | | 保护上下文用量。 |
| | | 如果当前工作目录在 `03-O` 内,先回到项目根入口读取: |
| | | |
| | | 任何输出量未知或可能很大的命令,都必须限制输出字节数。 |
| | | 1. `/Users/ar/Projects/PrivateVoice2/AGENTS.md` |
| | | 2. `/Users/ar/Projects/PrivateVoice2/PROJECT.md` |
| | | 3. `/Users/ar/Projects/PrivateVoice2/INDEX.md` |
| | | 4. `/Users/ar/Projects/PrivateVoice2/02-P/进度地图.md` |
| | | 5. `/Users/ar/Projects/PrivateVoice2/03-O/CODEGRAPH.md` |
| | | |
| | | 默认安全写法: |
| | | 旧 `K2.项目管理/legacy/` 资料只作证据附件,不能作为活跃任务来源。 |
| | | |
| | | ```bash |
| | | COMMAND 2>&1 | head -c 6000 |
| | | ``` |
| | | ## 路径边界 |
| | | |
| | | ## 2. 发布版本规则 |
| | | - 项目根:`/Users/ar/Projects/PrivateVoice2` |
| | | - Git 根:`/Users/ar/Projects/PrivateVoice2/03-O` |
| | | - 源码根:`/Users/ar/Projects/PrivateVoice2/03-O/C1.source/privatevoice.src` |
| | | - 构建/发布候选包:`/Users/ar/Projects/PrivateVoice2/03-O/C2.builds` |
| | | - 构建与 QA 脚本:源码内 `C1.source/privatevoice.src/scripts/`,`C3.tools/` 只放索引和迁移工具说明。 |
| | | - 会话记忆目录:`/Users/ar/Projects/PrivateVoice2/.codex-sessionhistory/` |
| | | |
| | | 本项目声明为 `研发项目`,发布或分发安装包前默认遵守 `~/.codex/rules/release-versioning.md`;如本项目 release 文档或构建脚本另有更具体要求,以本项目规则为准。 |
| | | ## 工作规则 |
| | | |
| | | ## 3. 测试通过后的默认打包规则 |
| | | |
| | | 当某一轮改动已经完成开发自测,并且 QA 验证也通过后,默认进入测试包交付流程,不需要再单独询问用户是否打包。 |
| | | |
| | | 执行打包前仍必须遵守发布版本规则:递增 patch 版本号、生成新的 `YYYYMMDD.HHMM` build 编号、更新 App 元数据与 `CHANGELOG.md`,并生成可分发的 macOS `.dmg`。 |
| | | |
| | | 如果只有开发自测通过,但 QA 尚未验证通过,则不得把该版本作为测试人员可用包交付;此时只说明当前处于待 QA 状态。 |
| | | |
| | | ## 4. Mac App Store 出口合规规则 |
| | | |
| | | 如果本 App 未实现、未打包、未接入非 Apple 操作系统提供的加密算法,Mac App Store 构建的 `Info.plist` 应声明: |
| | | |
| | | ```xml |
| | | <key>ITSAppUsesNonExemptEncryption</key> |
| | | <false/> |
| | | ``` |
| | | |
| | | 提交 App Store Connect 前必须检查该键是否存在并为 `false`,以避免每次上传 build 后出现 `Missing Compliance` 并需要手动回答加密出口合规问题。 |
| | | |
| | | 如果后续新增自实现加密、第三方加密库、非系统提供的标准加密算法或专有加密算法,必须重新评估出口合规,不得沿用上述声明。 |
| | | |
| | | ## 5. 对话记忆保存规则 |
| | | |
| | | 本项目需要保存重要会话记忆,但不得为了普通会话记录频繁打断用户审批。 |
| | | |
| | | - 首选保存目录:项目根目录下的 `.codex-sessionhistory/`,即 `/Users/ar/Projects/PrivateVoice/.codex-sessionhistory/`。 |
| | | - 只在发生以下情况时保存会话记录:关键决策、文件修改、发布 / 构建 / QA 结论、重大问题排查、用户明确要求保存、阶段性收尾。 |
| | | - 纯询问、路径确认、状态查询、简单说明、无实质决策或无文件变更的对话,不强制保存。 |
| | | - 文件名格式:`YYYY-MM-DD-主题.md`;主题必须概括本轮 session 的核心内容,控制在 20 个字符以内,优先使用中文短语,避免空格、`/`、`:` 等不适合作为文件名的字符。 |
| | | - 如果同一天同主题已有记录文件,必须创建新文件并追加序号,避免覆盖:`YYYY-MM-DD-主题-01.md`、`YYYY-MM-DD-主题-02.md`。 |
| | | - 保存内容至少包括:用户目标、已完成事项、关键决策、文件变更、未决问题、后续建议。 |
| | | - 如果首选目录在当前沙盒下不可写,不得发起额外权限审批;必须改存到当前 Codex 工作区的 `.codex-sessionhistory/PrivateVoice/`,并在最终答复中说明实际保存位置。 |
| | | - 只有首选目录和当前工作区备用目录都不可写时,才允许跳过保存,并在最终答复中说明原因。 |
| | | - 如果确需保存,应一次性保存本轮完整摘要,避免为了会话记录反复修正。 |
| | | - 跨项目对话以主要项目保存;如果多个项目都有实质决策或改动,应按同样的首选目录 / 当前工作区备用目录规则分别保存摘要。 |
| | | - 统一活跃台账是 `/Users/ar/Projects/PrivateVoice2/02-P/进度地图.md`。 |
| | | - `CODEGRAPH.md` 是人工维护工程地图;自动索引或缓存不能替代它。 |
| | | - 发布、QA、签名、打包和版本冻结必须遵守项目根入口声明的全局规则路由。 |
| | | - 标准验证命令必须保持原始可执行形式,不在命令本身追加输出截断管道。 |