为什么编辑文件前必须先读
先设定故障
观测账本记录文件版本。edit 未读被拦,外部改动被拦。判定只看账本。防线可拔,工具本身零权限代码。
失败如何传播
账本状态为未见、present@vN、absent
账本状态为未见、present@vN、absent。工具发 fs/observed 事件记账。写入前分发 intent 事件,单槽瀑布独占决策。后端原子临界区先验版本再替换。write 新建无需先读,覆盖需版本匹配。
[repo]
edit 未读报 FSNOTOBSERVED
edit 未读报 FS_NOT_OBSERVED,记 absent 报 FS_NOT_FOUND,版本过期报 FS_STALE_VERSION。匹配须恰好一次,多处报 FS_AMBIGUOUS_EDIT,无命中报 FS_EDIT_NOT_FOUND,除非 replace_all。卸插件后退回裸提供方行为。
[repo]
恢复与防线
读 10 行能授权后续整个文件 edit 吗: 可以。授权只看版本凭证,不分整读还是窗口读。
write 新建不需要先读,为何 edit 必须: 新建无覆盖风险;edit 需预期内容与版本凭证,防止覆盖外部改动。
仍会失效的地方
本页结论对应 revision
0a53fb55bea101816fa226bb964ae2bed71c343b。文件位置、命名和默认行为可能随版本变化,引用实现细节时应同时记录 commit。
来源与核验
- [repo] DeepSeek Harness 官方源码(固定 revision)
- [official] DeepSeek Harness 官方介绍
Revision:0a53fb55bea101816fa226bb964ae2bed71c343b · 核验日期:2026-08-31