Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 不是常规路径。
Expand Down
Loading