# R5 任务报告

## 问题

固定 worktree 同步流程原先使用 `git stash push -u` 后再执行无参数 `git stash apply`。并发任务在两步之间新增 stash 时，`stash@{0}` 会改变。本次 Workbench closeout 已真实观察到无参数 apply 恢复了另一任务的 Web Probe 修改，随后只能按 stash message 从列表重新定位正确对象。

## 修复

- 建立 [UniDesk #2516](https://github.com/pikasTech/unidesk/issues/2516)。
- `docs/reference/devops-hygiene.md` 规定 stash push 必须携带当前操作唯一 marker。
- 按 marker 从 `git stash list --format='%H %gs'` 解析稳定 stash commit SHA。
- 同步后只允许 `git stash apply <stash-commit-sha>` 精确恢复。
- 禁止依赖可变 `stash@{N}` 或执行无参数 apply。
- apply 后必须核对原文件集合和新增并行修改仍存在。
- `AGENTS.md` 的顶级损害预防摘要同步相同规则。

## 验证

- `AGENTS.md` 保持在 10 KiB 硬上限内。
- `git diff --check` 通过。
- 规则面向任意并发仓库和任意任务 marker，不绑定本次 stash 序号、分支或文件。
- 本次主 worktree 中两组并行修改均已恢复并保持未提交，证明按稳定对象恢复不会要求 reset、drop 或覆盖式 checkout。
