Ariver
2026-07-11 015f1089ea875a153dd2a18ef42c25145d4868f5
AGENTS.md
@@ -1,56 +1,35 @@
## 项目属性
项目类型:研发项目
主要产物:Wails / Go 桌面语音输入 App
主要产物:Wails v3 / Go 桌面语音输入 App
## 1. 命令输出保护
## 读取顺序
保护上下文用量。
如果当前工作目录在 `03-O` 内,先回到项目根入口读取:
任何输出量未知或可能很大的命令,都必须限制输出字节数。
1. `/Users/ar/Projects/PrivateVoice/AGENTS.md`
2. `/Users/ar/Projects/PrivateVoice/PROJECT.md`
3. `/Users/ar/Projects/PrivateVoice/INDEX.md`
4. `/Users/ar/Projects/PrivateVoice/02-P/进度地图.md`
5. `/Users/ar/Projects/PrivateVoice/03-O/CODEGRAPH.md`
默认安全写法:
旧 `K2.项目管理/legacy/` 资料只作证据附件,不能作为活跃任务来源。
```bash
COMMAND 2>&1 | head -c 6000
```
## 路径边界
## 2. 发布版本规则
- 项目根:`/Users/ar/Projects/PrivateVoice`
- Git 根:`/Users/ar/Projects/PrivateVoice/03-O`
- 源码根:`/Users/ar/Projects/PrivateVoice/03-O/C1.source/privatevoice.src`
- 构建/发布候选包:`/Users/ar/Projects/PrivateVoice/03-O/C2.builds`
- 构建与 QA 脚本:源码内 `C1.source/privatevoice.src/scripts/`,`C3.tools/` 只放索引和迁移工具说明。
- 会话记忆目录:`/Users/ar/Projects/PrivateVoice/.codex-sessionhistory/`
- 常规会话主题汇编目录:`/Users/ar/Projects/PrivateVoice/.codex-sessionhistory/00-Topics.md` 和 `/Users/ar/Projects/PrivateVoice/.codex-sessionhistory/_topics/`。`K2.项目管理/session-topics/` 只保存旧项目迁移压缩摘要,不得作为新项目常规主题汇编落点。
本项目声明为 `研发项目`,发布或分发安装包前默认遵守 `~/.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/PrivateVoice/02-P/进度地图.md`。
- `CODEGRAPH.md` 是人工维护工程地图;自动索引或缓存不能替代它。
- `codebase-memory` 状态为 `enabled`;标准刷新命令是 `codebase-memory-mcp cli index_repository '{"repo_path":"/Users/ar/Projects/PrivateVoice/03-O"}'`,共享产物为 `.codebase-memory/graph.db.zst` 和 `.codebase-memory/artifact.json`。
- 每次源码冻结、版本冻结、正式可回滚测试包或发布包前必须刷新 `.codebase-memory/`;日常 Coder 中间态变更不强制刷新。
- 发布、QA、签名、打包和版本冻结必须遵守项目根入口声明的全局规则路由。
- 标准验证命令必须保持原始可执行形式,不在命令本身追加输出截断管道。