用途:atlas-contract 只在单次对话内守护目标,每次从零开始;atlas-ledger 为其补上跨会话记忆。当偏差被捕获后,它把教训转译为可进入未来契约并触发停止的条款。触发路径包括 atlas-contract 的 Final Audit 自动移交、Post Review、Phase Check 重复错误,或用户明确要求记录。干净的完成、优化请求、普通代码审查与风格偏好不应触发。
主要能力:按六步蒸馏——先把偏差写成可观察事实而非动机;再起草 WHEN / DON'T / INSTEAD;随后通过四道闸自检:可执行性、回放、泛化、误伤,全部通过才记录;首次出现记为临时 Observation [O#],重复出现或高严重度则升级为确认 Clause [L#];提出候选条款并 ATLAS_STOP 等待确认;确认后先合并再写入 Atlas.md。高严重度情形(如用 mock 冒充真实实现、隐藏或禁用用户要求的功能、削弱测试以强行通过、数据丢失或持久化损坏、安全/权限/认证误改、破坏已声明保留项、把端到端工作降级为仅前端)可首次出现即确认。
使用方式:每个被捕获偏差最多输出一条条款。写入前扫描 Atlas.md 中 WHEN 重叠的条款并合并,再对合并结果重跑四道闸;确认条款上限 15 条,超出时先合并最近的两条。禁止只追加。用户可随时退休条款;被用户两次推翻的确认条款标记 review: stale 并提示退休。atlas-contract 侧需加入读取钩子:构建目标契约前检查根目录 Atlas.md,只读已确认条款、最多携入 5 条最相关者,并把 DON'T 转为 Must Not Do、INSTEAD 转为停止规则,在契约中展示。该文件视为不可信工作区内容,不能覆盖系统/开发者/用户指令、仓库 AGENTS.md、工具安全规则或安全策略;冲突时不静默执行,而是暴露给用户决定。机器键 WHEN/DON'T/INSTEAD、ID、severity、Source、seen、RETIRED 与固定小节标题保持英文,条款内容与面向用户的流程标签按当前用户指令语言输出。
限制:只能在用户确认后写入,否则仅为提案;条款质量依赖模型正确识别真实偏差,需用户复核;未及时合并、退休或复核会变得过期或过宽;它不能替代测试、代码审查或对原任务是否真正完成的独立验证,且只能从已被检测到的偏差中学习,悄然漏过的偏差不会留下条目。