# Reasonix Batch A3 Worker A：local folder empty-trash UI smoke

Project root: `/mnt/Data1T/mnote`

## 目标

补齐 `4-34` 中 local folder empty-trash UI 证据：本地文件夹垃圾箱页面能分别清空页面垃圾箱和资源垃圾箱，且不触发非预期浏览器导航。

## Ownership

允许修改：

- 新增 `scripts/task474-local-folder-empty-trash-ui-smoke.js`
- `design/04-tree-domain/process/4-34-filetree-trash-dual-browser-no-refresh-v1.md`
- `.codex/reasonix-tasks/results/batch-a3-worker-a-empty-trash.md`

禁止：

- 不修改 Rust 源码。
- 不修改 `4-46` 或移动任何 design 文件。
- 不提交 git。
- 不把 reload 型刷新标为 no-refresh。

## 要求

1. 新增 browser smoke，参考 `task464` / `task473` 的登录、local root、trash workbench 写法。
2. 创建临时 local folder root：
   - 至少一个 Markdown 页面进入本地垃圾箱。
   - 至少一个非 md 资源进入本地垃圾箱。
3. 打开 `/trash?sourceKind=local_folder&rootUri=file://...`。
4. 点击“清空页面垃圾箱”，接受 confirm，断言页面类 trash row 消失、trash index 对应 entry 清理、trash 文件/目录不存在。
5. 点击“清空资源垃圾箱”，接受 confirm，断言资源类 trash row 消失、trash index 对应 entry 清理、trash 文件不存在。
6. 记录 main frame navigation delta，清空按钮操作不得触发非预期导航。
7. 结果写入 `tmp/task474-local-folder-empty-trash-ui-smoke/result.json`。
8. 更新 `4-34` 对 local folder empty-trash 覆盖状态，但不要移动文件。

## 验收命令

```bash
node --check scripts/task474-local-folder-empty-trash-ui-smoke.js
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task474-local-folder-empty-trash-ui-smoke.js
```

如果 3000 不是最新，可只做 `node --check` 并说明需要 Codex 用临时端口复跑。

## 最终输出

写入 `.codex/reasonix-tasks/results/batch-a3-worker-a-empty-trash.md`，包含：

- 修改文件
- smoke 覆盖内容
- 验证命令和结果
- 未完成项 / 风险
