refactor: add filetree sidebar snapshot helper
This commit is contained in:
@@ -69,7 +69,7 @@ UI / 浏览器可见项必须有真实浏览器截图或结构化 smoke 证据
|
||||
- 已迁函数:`node_is_within_root`、`active_editor_text_selection`、`has_active_text_selection`、`selection_summary`、`selection_has_rich_marks`。
|
||||
- 未迁:`SelectionPayload`、`selection_payload`、`send_selection_state*`、`selection_event_payload`,原因是仍依赖 bridge event、`HoveredBlockState` 和 runtime block id 边界。
|
||||
- 已验证:`cargo fmt --manifest-path rust/Cargo.toml --all --check`、`cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml`、wasm release build、`wasm-bindgen`、`task488`、`task489`、CodeGraph pending 0。
|
||||
- 2026-05-25:执行口径修正:继续遵循当前 goal 的“每批最多 2 个 worker”;Reasonix 后续必须使用独立 worktree 或明确只读任务,完成后由 Codex 读取 handoff 并复核。
|
||||
- 2026-05-25:执行口径修正:继续遵循当前 goal 的“每批最多 4 个 worker”;Reasonix 后续必须使用独立 worktree 或明确只读任务,完成后由 Codex 读取 handoff 并复核。
|
||||
- 2026-05-25:Batch D 额外 runner 曾自动启动 Worker A / Worker B,未经过本轮主控计划确认;主控已终止相关 runner / ACP 进程,不采纳这些未受控 run。遗留 task 草稿暂不删除,后续如继续使用必须重新生成受控任务书。
|
||||
- 2026-05-25:Reasonix runner 异常:后续实现 run 未写 `result.json`、`process-handoff.md/json`,部分 transcript 停在工具调用阶段;Codex 不采纳其文字结论,只复核实际 diff。
|
||||
- 2026-05-25:Reasonix overlay / block menu 只读审计尝试未产生 `result.json` / `process-handoff`,且运行期间出现额外 Batch A2 runner,主控已终止进程;该结果不作为正式 handoff 采纳。
|
||||
@@ -136,7 +136,7 @@ UI / 浏览器可见项必须有真实浏览器截图或结构化 smoke 证据
|
||||
- 修改:`rust/spikes/leptos-tiptap-spike/src/lib.rs`、generated island `js/d.ts/wasm/wasm.d.ts`。
|
||||
- 已验证:在独立 worktree 中运行 `cargo fmt --manifest-path rust/Cargo.toml --all --check`、`cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml`、wasm release build、`wasm-bindgen`;主工作区复跑 `NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task489-block-menu-delete-undo-smoke.js`、`NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task488-local-attachment-link-delete-undo-smoke.js` 均通过,结果分别位于 `/mnt/Data1T/mnote/tmp/task489-block-menu-delete-undo-smoke/result.json`、`/mnt/Data1T/mnote/tmp/task488-local-attachment-link-delete-undo-smoke/result.json`。
|
||||
- 未完成:`try_sync_editor_overlay_state`、`on_selection_change` overlay 同步、block menu signal 编排仍未迁出;本轮未扩大迁移边界。
|
||||
- 2026-05-25:当前 goal 按用户最新要求明确为每批最多 2 个 worker;后续 Batch 计划和 Reasonix 派发以 2 个为硬上限,历史记录中超过 2 个 worker 的批次保留为异常记录。
|
||||
- 2026-05-25:当前 goal 按用户最新要求明确为每批最多 4 个 worker;后续 Batch 计划和 Reasonix 派发以 4 个为硬上限,历史记录中超过 4 个 worker 的批次保留为异常记录;历史中按旧 2-worker 口径登记的异常保留其原始上下文。
|
||||
- 2026-05-25:用户纠正 B/C/D 等实现任务也应在新的 worktree 中修改后再由 Codex 合并;主控已采用该口径:实现 worker 一律独立 worktree,主工作区不再直接扩大实现 diff,只保留事实源、复核和最终采纳。
|
||||
- 2026-05-25:Batch K 只派发 1 个只读 Reasonix worker 审计 `close_editor_floating_overlays` 迁出边界,使用独立 worktree `/mnt/Data1T/mnote-worktrees/0525-k-5-29-close-overlays-readonly`,run id `reasonix-2026-05-24T19-18-51-566Z-90f11977`,并显式使用 `--no-memory-recall` 降低任务串线风险。
|
||||
- Codex 已读取 Hindsight recall、`process-handoff.md/json`、`result.json`,并核对 worktree `git status --short` / `git diff --stat` 为空。
|
||||
@@ -200,14 +200,14 @@ UI / 浏览器可见项必须有真实浏览器截图或结构化 smoke 证据
|
||||
- 未迁/未删:`send_selection_state_to_target`、selection event dispatch、`send_selection_state`、`selection_event_payload`、`runtime_state_payload`、`runtime_status_payload` 等未使用 bridge/helper 函数;死代码清理后续单独切片处理。
|
||||
- 2026-05-25:Batch W 只派发 1 个只读 Reasonix worker 审计 selection / bridge 死代码清理边界,使用独立 worktree `/mnt/Data1T/mnote-worktrees/0525-w-worker-a-5-29-selection-deadcode-readonly`,run id `reasonix-2026-05-24T21-36-28-065Z-75d6e2e8`,并显式使用 `--no-memory-recall`。
|
||||
- Codex 已读取 Hindsight recall、`process-handoff.md/json`、`result.json`,并核对 worktree `git status --short` / `git diff --stat` 为空;Reasonix 未修改源码。
|
||||
- 主控发现随后残留/越界 Reasonix runner:除本只读 worker 外还存在 Worker B/C/D runner 或 ACP 进程,超过当前 goal 的“每批最多 2 个 worker”;已终止相关进程,且不采纳被终止 worker 的任何输出。
|
||||
- 主控发现随后残留/未授权 Reasonix runner:除本只读 worker 外还存在 Worker B/C/D runner 或 ACP 进程;该批数量按当前 goal 不超过 4,但不满足主控明确派发与完整 handoff 合同,已终止相关进程,且不采纳被终止 worker 的任何输出。
|
||||
- 审计结论经 Codex 复核后采纳:删除无调用方私有函数 `send_selection_state`、`selection_event_payload`、`dispatch_bridge_event`、`current_runtime_block_info`、`current_runtime_block_info_from_hovered`、`runtime_state_payload`、`runtime_status_payload`。
|
||||
- 保留:`send_selection_state_to_target`、`dispatch_selection_event_to_target`、`current_block_info_from_index`、`state_payload`、`status_payload`,原因是仍有真实调用方或作为当前替代链路使用。
|
||||
- 修改:`rust/spikes/leptos-tiptap-spike/src/lib.rs`、generated island wasm。
|
||||
- 当前执行约束同步修正:`3-20` / `5-29` checklist 均保持“当前 goal 下每批最多 2 个 worker”。
|
||||
- 当前执行约束同步修正:`3-20` / `5-29` checklist 均保持“当前 goal 下每批最多 4 个 worker”。
|
||||
- 已验证:`git diff --check`、`cargo fmt --manifest-path rust/Cargo.toml --all --check`、`cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml`、wasm release build、`wasm-bindgen`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task489-block-menu-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task488-local-attachment-link-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js`、`codegraph sync .`、`codegraph status . --json` pending 0。
|
||||
- 2026-05-25:Batch X 计划只派发 1 个只读 Reasonix worker 审计 block DnD DOM 边界,任务书 `.codex/reasonix-tasks/2026-05-25-batch-x-worker-a-5-29-dnd-dom-readonly.md`,worktree `/mnt/Data1T/mnote-worktrees/0525-x-worker-a-5-29-dnd-dom-readonly`。
|
||||
- 派发异常:启动本只读 worker 后,又出现未由主控批准的 Worker A/B/C/D runner 与 ACP 进程,超过当前 goal 的“每批最多 2 个 worker”;主控已终止全部 `reasonix-coding-runner` / `reasonix acp` / `reasonix/dist/cli/index.js acp` 进程,本批不采纳任何 Reasonix 输出。
|
||||
- 派发异常:启动本只读 worker 后,又出现未由主控批准的 Worker A/B/C/D runner 与 ACP 进程;该批数量按当前 goal 不超过 4,但不满足主控明确派发与完整 handoff 合同。主控已终止全部 `reasonix-coding-runner` / `reasonix acp` / `reasonix/dist/cli/index.js acp` 进程,本批不采纳任何 Reasonix 输出。
|
||||
- Codex 主控改为本地最小机械切片:`editor_runtime/block_dnd.rs` 新增 `element_within_handle_shell(element, handle_selector)`,只封装 handle-shell DOM predicate;`lib.rs` 的 `hovered_block_from_target`、editor stage click / mousemove / dragover 调用点改为委托该 helper。
|
||||
- 未迁:`hovered_block_from_target`、`drop_indicator_from_target`、`drop_indicator_from_point`、拖拽 listener、block reorder 行为和 DOM -> block 状态解析链仍留在 `lib.rs`。
|
||||
- 修改:`rust/spikes/leptos-tiptap-spike/src/editor_runtime/block_dnd.rs`、`rust/spikes/leptos-tiptap-spike/src/lib.rs`。
|
||||
@@ -217,7 +217,7 @@ UI / 浏览器可见项必须有真实浏览器截图或结构化 smoke 证据
|
||||
- 未迁:`target_element` 仍被图片 toolbar 和事件 listener 共用;`hovered_block_from_target`、`drop_indicator_from_target`、`drop_indicator_from_point`、拖拽 listener、block reorder 行为和 DOM -> block 状态解析链仍留在 `lib.rs`。
|
||||
- 修改:`rust/spikes/leptos-tiptap-spike/src/editor_runtime/block_dnd.rs`、`rust/spikes/leptos-tiptap-spike/src/lib.rs`、generated island `js/wasm`。
|
||||
- 已验证:`cargo fmt --manifest-path rust/Cargo.toml --all --check`、`cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml`、wasm release build、`wasm-bindgen`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task489-block-menu-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task488-local-attachment-link-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js`。
|
||||
- 2026-05-25:Batch Z 曾一次派发 4 个 Reasonix worker,超过当前 goal 的“每批最多 2 个 worker”;四个 worker 均使用独立 worktree:A 只读审计 block transform、B 实现 block transform、C 实现 3-20 filetree refresh helper、D 运行 3-20 live smoke。
|
||||
- 2026-05-25:Batch Z 按当前 goal 上限一次派发 4 个 Reasonix worker,均使用独立 worktree:A 只读审计 block transform、B 实现 block transform、C 实现 3-20 filetree refresh helper、D 运行 3-20 live smoke。
|
||||
- Reasonix run `reasonix-2026-05-24T22-02-32-495Z-dfd6bb89` / `reasonix-2026-05-24T22-02-32-511Z-ea50d6e0` / `reasonix-2026-05-24T22-02-32-635Z-4edc4f8a` / `reasonix-2026-05-24T22-02-32-644Z-1180a395` 均只有 `prompt.md`、`memory-recall.json`、`reasonix-transcript.jsonl`,无 `final.md`、`result.json`、`process-handoff.md/json`;四个 worktree diff 为空,按采纳规则全部拒收。
|
||||
- 额外异常:Reasonix 仍创建 `.codex/reasonix-tasks/2026-05-25-batch-x-worker-a-5-29-dnd-dom-readonly.md` 草稿,违反叶子 worker 约束;该草稿不纳入本文件事实源、不提交。
|
||||
- Codex 随后在独立 worktree `/mnt/Data1T/mnote-worktrees/0525-x-worker-b-5-29-block-transform-impl` 产出并复核候选 patch:把仍有真实调用方的 `paragraph_node`、`collect_plain_text`、`mindmap_paragraph_node` 迁入 `editor_runtime/block_menu_document.rs`,删除 `lib.rs` 中无调用方的旧 JSON transform 死链 `list_item_node`、`task_item_node`、`inline_from_first_child`、`extract_inline_content`、`turn_into_block`、`replace_top_level_block_kind` 及图片占位常量。
|
||||
@@ -229,8 +229,13 @@ UI / 浏览器可见项必须有真实浏览器截图或结构化 smoke 证据
|
||||
- 修改:`rust/spikes/leptos-tiptap-spike/src/editor_runtime/block_menu_document.rs`。
|
||||
- 已验证:`cargo fmt --manifest-path rust/Cargo.toml --all --check`、`cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml`、wasm release build、`wasm-bindgen`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3002 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3002 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task489-block-menu-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3002 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task488-local-attachment-link-delete-undo-smoke.js`。
|
||||
- 验证说明:复用已有 3001 长跑服务时 `task479` 连续两次卡在 missing 标记等待点;改用本批临时启动的干净 3002 服务复跑后通过,判定为长跑服务状态问题,不作为本批回归。
|
||||
- 2026-05-25:Batch AA 后续按用户纠正重新执行“B/C/D 必须在独立 worktree 修改后再由 Codex 合并”流程;本轮最多 3 个并行 worker,未超过 4-worker 上限。
|
||||
- Reasonix B/C/D 分别在 `/mnt/Data1T/mnote-worktrees/0525-aa-worker-b-5-29-block-transform-finish`、`/mnt/Data1T/mnote-worktrees/0525-aa-worker-c-3-20-filetree-refresh-helper`、`/mnt/Data1T/mnote-worktrees/0525-aa-worker-d-3-20-live-smoke` 运行;B/C run 仅有空 transcript / 无 handoff / 零 diff,拒收;D run `reasonix-2026-05-24T22-26-26-122Z-62733e93` 有完整 `process-handoff.md/json`、`result.json` 和截图,源码零 diff。
|
||||
- Codex 随后改派独立 worktree worker 完成 B/C:B 的 block transform 结果已被当前主线提交 `ee81fafe` / `d59a248c` 覆盖,不再重复套旧 worktree patch;C 的 3-20 helper 由主控复核后选择性合入 3-20 事实源。
|
||||
- D smoke 证据:`task487-local-folder-tree-live-consumer-smoke.js` 在 3001 通过,`transport=local-folder-events`、PageTree/FileTree 外部创建/删除均为 `treeLiveApplied=resync`,主框架导航数为 0;截图位于 `/mnt/Data1T/mnote-worktrees/0525-aa-worker-d-3-20-live-smoke/tmp/task487-local-folder-tree-live-consumer-smoke/`。
|
||||
- 2026-05-25:Batch AB 未派发 Reasonix worker;继续清理 5-29 中无调用的壳层 bridge wrapper。
|
||||
- CodeGraph / `rg` 结论:`runtime_mount_options`、`dispatch_ready_event`、`dispatch_selection_event`、`bridge_ready_payload`、`STANDALONE_ROOT_ID` 均无调用方;`set_runtime_mount_options`、`dispatch_ready_event_to_target`、`dispatch_selection_event_to_target` 仍有调用方,保留不动。
|
||||
- Codex 主控完成死链清理:删除上述无调用 wrapper / 常量,不改变真实 bridge dispatch 和 mount context 路径。
|
||||
- 修改:`rust/spikes/leptos-tiptap-spike/src/lib.rs`。
|
||||
- 已验证:`cargo fmt --manifest-path rust/Cargo.toml --all --check`、`cargo check --manifest-path rust/spikes/leptos-tiptap-spike/Cargo.toml`、wasm release build、`wasm-bindgen`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3002 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task489-block-menu-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3002 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task488-local-attachment-link-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3002 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js`。
|
||||
- 本轮主控复核:`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task489-block-menu-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task488-local-attachment-link-delete-undo-smoke.js`、`MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3001 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js` 均通过。
|
||||
|
||||
Reference in New Issue
Block a user