diff --git a/AGENTS.md b/AGENTS.md index f2881231..22f8722c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,6 +9,22 @@ `docs/` 其余内容默认本地不入库(`.gitignore` 仅白名单 `quality/`), `.vidt/` 等 agent 工作目录是被忽略的可丢弃会话态,同样不是归宿。 +## 权限档位与安全不变量(参照 DeepSeek Harness 橙皮书 v260814 的规范实现) + +每个 agent 会话开场即生效的**三句权限档位**(任何一条要突破都必须先获所有者批准): + +1. **可写范围**:仅本仓库工作区(分支、暂存、本地提交);仓库外文件一律只读。 +2. **远端写入**:push 分支、创建 PR 属常规动作;**合并 PR、直推 main、force-push、删除提交/历史改写——逐次审批**(见 Delivery Workflow)。 +3. **高风险操作**:数据库迁移、删除类命令、依赖大版本升级——先备份、留回滚路径,再动手(见「迁移与高风险变更」)。 + +从橙皮书采纳的规范条目: + +- **教训必须机器化**:事故/缺陷的复盘结论只有落成测试或 CI 门禁才算关闭,只写进文档不算(现状范例:backend-layering 作业、回归矩阵每条的回归测试列)。 +- **中断重试纪律**:被中断的副作用操作(迁移、远端写入、发布)不得盲目重试——先核实外部状态(迁移版本、远端 ref、受影响数据行)或问所有者;仅只读/幂等操作可直接重试。 +- **安全关键依赖的采用度门槛**:承担安全不变量的依赖(加密、认证协议、沙箱类)必须有被证明的采用度与维护活跃度;其余位置优先选成熟依赖而非手写。 +- **禁止安静的失败**:启动期任何组件「挂起等待/未挂载/被跳过」必须显式报错或记 warning;静默 PENDING 按缺陷处理(先例:健康与生命周期加固波,#71~#73)。 +- **AGENTS.md 即模型接口**:本文件是喂给 agent 的,其事实性声明(命令、路径、门禁清单)过期比普通文档严重一档——承载行为变更的 PR 必须同步核对本文相关段落。 + ## Delivery Workflow(Issue → branch → PR → Verifier → merge) 正常路径:**有意义的变更必须有 issue → 分支 → PR → 检查绿 → 合并**,直推 main 不是常规路径。