# Batch X Worker A: 5-29 block DnD DOM boundary readonly audit

## Role

You are a leaf Reasonix coding worker. Do not spawn any other agent, runner, ACP process, Claude Code, Codex, Hermes, or Reasonix. Do not create, delete, or modify worktrees. Do not create new `.codex/reasonix-tasks/*.md` files.

## Project

Project root for this run:

```text
/mnt/Data1T/mnote-worktrees/0525-x-worker-a-5-29-dnd-dom-readonly
```

## Task

Perform a read-only audit for the next small 5-29 editor runtime extraction around block drag-and-drop DOM helpers.

Focus only on these current symbols:

- `drop_indicator_from_target` in `rust/spikes/leptos-tiptap-spike/src/lib.rs`
- `drop_indicator_from_point` in `rust/spikes/leptos-tiptap-spike/src/lib.rs`
- `hovered_block_from_target` in `rust/spikes/leptos-tiptap-spike/src/lib.rs`
- helper dependencies used by those functions, such as `target_element`, `direct_block_from_element`, `top_level_block_index`, `block_state_from_index`, `editor_root_element`, `editor_stage_element`, and `HANDLE_SHELL_SELECTOR`
- existing `editor_runtime/block_dnd.rs`

## Required output

Write a handoff that answers:

1. Which exact helper, if any, can be moved next into `editor_runtime/block_dnd.rs` without moving Leptos signals, event listeners, or block reorder behavior?
2. Which functions must stay in `lib.rs` for now, and why?
3. What is the smallest safe implementation diff Codex should make next?
4. What commands should Codex run after that diff?
5. What browser smoke, if any, is needed to prove behavior did not regress?

## Constraints

- Read-only only. Do not edit source files, design docs, task files, generated wasm/js, or tests.
- Do not run `cargo build`, `cargo check`, `wasm-bindgen`, browser tests, or dev servers.
- You may run read-only commands such as `rg`, `sed`, `git status`, `git diff --stat`, and CodeGraph if available.
- If you find the task needs implementation, report the proposed patch in prose only.
- Keep the result narrow. Do not propose a broad drag-and-drop rewrite.

## Acceptance contract

The run is acceptable only if:

- Worktree diff is empty.
- `process-handoff.md` and `process-handoff.json` exist.
- The handoff includes the five required answers above.
- The handoff does not claim code was changed or tests were run.
