From ec338c687e2e04bd37ab5c76a0a9c19769190502 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sun, 30 Aug 2026 02:09:13 +0800
Subject: [PATCH] docs: record 8.4.0 testflight upload

---
 AGENTS.md |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md
index d381b36..45e04ff 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -5,46 +5,56 @@
 项目类型:研发项目
 主要产物:macOS App / 桌面工具
 
-这是 AI Agent 进入 `/Users/ar/Projects/Taglauncher` 后应先读的入口文件。
+这是 AI Agent 进入 `/Users/ar/Projects/Taglauncher/03-O` 后应先读的入口文件。
 
 ## 代码治理入口
 
 开始任何代码、Git、迁移、构建、发布或 QA 工作前,必须读取并遵守:
 
-`/Users/ar/Projects/Taglauncher/CODE_GOVERNANCE.md`
+`/Users/ar/Projects/Taglauncher/03-O/CODE_GOVERNANCE.md`
 
 本入口文件只保留高优先级硬约束;完整执行标准以 `CODE_GOVERNANCE.md` 为准。若两者冲突,以更严格、项目本地、更具体的规则为准。
 
+## UI 改动开工门禁
+
+TagLauncher 的非平凡 UI 改动必须先过 UI Preview Gate,不得直接进入 SwiftUI / AppKit 源码修改。
+
+- 非平凡 UI 改动包括:布局、字体、间距、颜色、主题、material、窗口尺寸、Pro 状态、设置页、AppGrid、Quick Search、tips、hover、拖拽、点击热区、可访问性或任何用户可见视觉变化。
+- 开工前必须先产出 UI 合约;推荐使用 `/Users/ar/Projects/Taglauncher/03-O/K2.项目管理/KM2.项目管理-经验门禁/UI合约模板.md`,也可在当前 PRD / TODO / Round 文档中写入同等字段。
+- UI 合约必须包含目标界面、影响 surface、不做范围、状态矩阵、主题 / 语言长度矩阵、交互互斥关系、验收截图或录屏要求。
+- 非纯调查任务必须先提供高保真预览来源,例如 baoyu-design HTML / 静态 screen、Penpot / Figma frame、用户标注图或等价可审阅截图;用户确认视觉目标后,才允许修改生产 UI 源码。
+- 实现后必须提供真实 App 截图、录屏、AX 或真实点击证据;没有真实渲染或真实交互证据,不得写视觉 PASS。
+
 ## 源码根目录
 
-唯一源码根目录:`/Users/ar/Projects/Taglauncher/src`
+唯一源码根目录:`/Users/ar/Projects/Taglauncher/03-O/C1.source`
 
-- App 源码、构建脚本、QA 脚本、SmartStart/Apple catalog 资料和发布资料都必须在 `src/` 下维护。
-- 不允许再创建或继续使用 `/Users/ar/Projects/Taglauncher-*source`、`/Users/ar/Projects/Apptag-*` 等外部源码工作目录。
+- App 源码、构建脚本、QA 脚本和 SmartStart/Apple catalog 资料在 `C1.source/` 下维护;发布证据进入 `K3.运营与发布资料/Release/`,当前迁入构建包进入 `C2.builds/`。
+- 不允许再创建或继续使用 `/Users/ar/Projects/Taglauncher/03-O-*source`、`/Users/ar/Projects/Apptag-*` 等外部源码工作目录。
 - 如果需要多分支并行工作,必须使用当前仓库的正常 Git branch;如确需 worktree,必须先说明原因、限定生命周期,并在任务结束后用 `git worktree remove` 清理。
 - 项目根目录只保留仓库入口文档、公开网站资料和非源码管理说明;不要在根目录新增 App 源码副本。
 
 ## 命令输出保护
 
-任何输出未知或可能很大的命令都必须限制输出:
+任何输出未知或可能很大的命令都必须控制范围。标准验证命令在文档、规则、CODEGRAPH 或交接材料中必须保持原始可执行形式;执行时优先使用工具输出上限,或把完整输出写入日志并保留原始命令退出码。
 
 ```bash
-COMMAND 2>&1 | head -c 6000
+COMMAND
 ```
 
-搜索优先用 `rg` / `rg --files`。不要无上限打印大文件、构建日志或目录树。
+搜索优先用 `rg` / `rg --files`。不要无上限打印大文件、构建日志或目录树;临时查看大输出时可以由执行工具限制输出,不要把截断管道写进标准命令。
 
 ## 对话记忆保存规则
 
-本项目需要保存重要会话记忆,但不得为了普通会话记录频繁打断用户审批。
+本项目需要保存重要会话记忆,但不得为了普通会话记录频繁打断用户审批。会话记录不放在主源码工作区,避免造成脏状态和体积膨胀。
 
-- 首选保存目录:项目根目录下的 `.codex-sessionhistory/`,即 `/Users/ar/Projects/Taglauncher/.codex-sessionhistory/`。
+- 首选保存目录:`/Users/ar/Projects/Taglauncher/.codex-sessionhistory/`。
 - 只在发生以下情况时保存会话记录:关键决策、文件修改、发布 / 构建 / QA 结论、重大问题排查、用户明确要求保存、阶段性收尾。
 - 纯询问、路径确认、状态查询、简单说明、无实质决策或无文件变更的对话,不强制保存。
 - 文件名格式:`YYYY-MM-DD-主题.md`;主题必须概括本轮 session 的核心内容,控制在 20 个字符以内,优先使用中文短语,避免空格、`/`、`:` 等不适合作为文件名的字符。
 - 如果同一天同主题已有记录文件,必须创建新文件并追加序号,避免覆盖:`YYYY-MM-DD-主题-01.md`、`YYYY-MM-DD-主题-02.md`。
 - 保存内容至少包括:用户目标、已完成事项、关键决策、文件变更、未决问题、后续建议。
-- 如果首选目录在当前沙盒下不可写,不得发起额外权限审批;必须改存到当前 Codex 工作区的 `.codex-sessionhistory/Taglauncher/`,并在最终答复中说明实际保存位置。
+- 如果首选目录不可写,不得发起额外权限审批;必须改存到当前 Codex 工作区的 `.codex-sessionhistory/Taglauncher/`,并在最终答复中说明实际保存位置。
 - 只有首选目录和当前工作区备用目录都不可写时,才允许跳过保存,并在最终答复中说明原因。
 - 如果确需保存,应一次性保存本轮完整摘要,避免为了会话记录反复修正。
 - 跨项目对话以主要项目保存;如果多个项目都有实质决策或改动,应按同样的首选目录 / 当前工作区备用目录规则分别保存摘要。

--
Gitblit v1.9.3