45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
# Reasonix Batch A / Worker D:3-20 local upload / filetree 下一刀只读审计
|
||
|
||
Project root:由 runner 传入的独立 worktree。
|
||
|
||
## 目标
|
||
|
||
只读审计 `3-20` 后续切片:local upload 主流程、filetree keyboard / clipboard / DND / context menu DOM。基于已落地的 `filetree-runtime.js`、`filetree-selection-runtime.js`、`filetree-context-menu-runtime.js` 和 `local-upload-runtime.js`,给出下一刀最小实现建议。
|
||
|
||
## 只读范围
|
||
|
||
可以读取:
|
||
|
||
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
|
||
- `rust/crates/mnote-web/browser/filetree-runtime.js`
|
||
- `rust/crates/mnote-web/browser/filetree-selection-runtime.js`
|
||
- `rust/crates/mnote-web/browser/filetree-context-menu-runtime.js`
|
||
- `rust/crates/mnote-web/browser/local-upload-runtime.js`
|
||
- `scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js`
|
||
- `scripts/task487-local-folder-tree-live-consumer-smoke.js`
|
||
|
||
## 禁止事项
|
||
|
||
- 严格只读,禁止修改任何源码、文档、脚本、生成产物或 git 状态。
|
||
- 不改变资源归属语义、tree command 语义或 upload API 合同。
|
||
- 不把 editor internal selection / history 迁入 `mnote-web` browser runtime。
|
||
|
||
## 审计问题
|
||
|
||
请回答:
|
||
|
||
1. local upload 剩余函数中,哪些可迁到 `local-upload-runtime.js`,哪些仍应留在 inline 直到 API / editor 插入边界更清楚?
|
||
2. filetree keyboard / clipboard / DND / context menu DOM 中,下一刀应优先迁纯 helper 还是 DOM listener?
|
||
3. 哪个实现切片风险最低,允许文件范围是什么?
|
||
4. 对应最小测试和浏览器 smoke 是什么?
|
||
5. 哪些现有 runtime helper 可复用,避免新增第二套 filetree selection 真相?
|
||
|
||
## 输出要求
|
||
|
||
最终 handoff 必须包含:
|
||
|
||
- local upload 函数归属表。
|
||
- filetree 下一刀建议。
|
||
- 明确禁止迁移项。
|
||
- 推荐 Worker 实现任务书草案和验收命令。
|