# Reasonix Batch A / Worker B：5-29 overlay / block menu 只读审计

Project root：由 runner 传入的独立 worktree。

## 目标

只读审计 `rust/spikes/leptos-tiptap-spike/src/lib.rs` 中 overlay / block menu 相关逻辑，为 `design/05-editor-mainline/process/5-29-editor-runtime-followup-checklist-v1.md` 提供下一刀最小实现建议。

## 只读范围

可以读取：

- `rust/spikes/leptos-tiptap-spike/src/lib.rs`
- `rust/spikes/leptos-tiptap-spike/src/editor_runtime/*`
- `scripts/task488-local-attachment-link-delete-undo-smoke.js`
- `scripts/task489-block-menu-delete-undo-smoke.js`
- `scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js`

## 禁止事项

- 严格只读，禁止修改任何源码、文档、脚本、生成产物或 git 状态。
- 不运行会写入源码的格式化、构建生成命令。
- 不把 shell resource open / local upload 归入 editor runtime。

## 审计问题

请回答：

1. 哪些 overlay / block menu 函数依赖 `ReadSignal` / `WriteSignal` / `NodeRef` / `Window` 等状态，暂不适合第一刀迁移？
2. 是否存在可先迁出的纯 helper？如果有，列出函数名、当前位置、建议目标模块。
3. 是否应先引入小型 context struct，还是继续保持函数参数直传？
4. 哪些 smoke 能覆盖迁移后风险？
5. `apply_html_update` 迁出是否仍被 overlay / bridge event 耦合阻塞？

## 输出要求

最终 handoff 必须包含：

- 函数归属表。
- 下一刀建议，按 P0/P1/P2 排序。
- 明确不可迁项和原因。
- 建议的验收命令 / smoke。
