diff --git a/WORKMEMORY/PROTOCOL.md b/WORKMEMORY/PROTOCOL.md index e1d8622d..7e2d50b8 100644 --- a/WORKMEMORY/PROTOCOL.md +++ b/WORKMEMORY/PROTOCOL.md @@ -17,7 +17,8 @@ 6. **禁止敏感信息**:work.log / handoff / NOTES 禁止 API key、token、密码字面量(引用名称即可);pre-commit 密钥扫描兜底。 7. **协议靠约定维持**:某 agent 漏写事件不是灾难——下一个 agent 读 tail 发现缺口时补一条 `NOTE` 说明即可,不回改历史。 8. **实现任务 MUST 在独立分支 / worktree 上做**:开工前先判分支 —— 实现 / 多步任务走分支 + PR 合入 `master`; - 仅发版类操作(bump / tag / Release 文案 / 发版文档)允许直推 `master`(须用户批准)。 + 仅**两类**操作允许直推 `master`(须用户批准):**① 发版类**(bump / tag / Release 文案 / 发版文档); + **② 簿记类**(`work.log` 事件记账 —— 纯追加、不改代码 / 门禁 / 测试;2026-10-14 用户确认属例外)。 本条于 2026-10-14 补入:此前它只存在于 `dfs-pipeline` skill 与一条记忆里,本仓文档零命中 ⇒ 2026-10-13 那批 9 个含生产源码与 CI 定义的提交全程直推 `master`、零 PR。完整复盘见 `docs/agents/ops.md`「Agent 工作惯例」第 9 条与 work.log 同日 NOTE。 diff --git a/docs/agents/ops.md b/docs/agents/ops.md index c7c86d32..cd9b2c16 100644 --- a/docs/agents/ops.md +++ b/docs/agents/ops.md @@ -200,7 +200,10 @@ TTS 链路(真机判定层):`AndroidNativeTTS.speak`(系统 TTS,免网 或开**无痕窗口**访问(无痕无缓存/SW = 服务器磁盘真实文件)。无痕正常 ⇒ 用户侧缓存,代码不用动。 - 教训:别在 `setupPWA`/`#sw-source` 上花时间"增强"离线——那段 SW 从没注册成功过。 12. **开工前先判分支(MUST)**:**实现 / 多步任务一律在独立分支(或 worktree)上做,再走 PR 合入 `master`**; - 只有**发版类操作**(版本 bump / 打 tag / Release 文案 / 发版文档回填)允许直接在 `master` 上推,且推送前须用户显式批准。 + 只有**两类操作**允许直接在 `master` 上推,且推送前须用户显式批准: + **① 发版类**(版本 bump / 打 tag / Release 文案 / 发版文档回填); + **② 簿记类**(`WORKMEMORY/work.log` 等**纯追加**的事件记账 —— 不改代码、不改门禁、不改测试; + 2026-10-14 用户明确确认簿记属例外)。除此之外一律走分支 + PR。 为什么把这条写在这里:2026-10-13「去控制台 + 桌面化观感」那批 **9 个提交**(含生产源码 `desktop.py` / `start.py`、 打包面 `package_windows.py` 与 CI 定义 `ci.yml` / `build-release.yml` / `tools/verify_windows_portable.py`)**全程直推 `master`、零 PR**。事后复盘的根因**不是"忘了"**,而是这条规矩此前只存在于两处不可见的地方 ——