docs: reject unauthorized runtime worker batch

This commit is contained in:
lix-2026
2026-05-25 09:25:53 +08:00
parent 2c32c4f656
commit e25e5d891b
@@ -263,9 +263,11 @@ UI / 浏览器可见项必须有真实浏览器截图或结构化 smoke 证据
- Worker C `/mnt/Data1T/mnote-worktrees/0525-af-worker-c-3-20-upload-target-readonly`run `reasonix-2026-05-24T23-33-43-393Z-301491ef` 有完整 `process-handoff.md/json``result.json``final.md`,源码零 diff;审计结论经主控复核后采纳:`syncSidebarFileTreeSelection` 及 selection runtime 已外置到合理边界,不应回并到 `filetree-runtime.js``resolveFileTreeUploadTarget` / `preflightFileTreeUploadTarget` 仍不适合整体迁入 browser runtime`fileTreeRowsForUploadPreflight` 仅是低优先级候选 helper。
- Worker D `/mnt/Data1T/mnote-worktrees/0525-af-worker-d-regression-smoke`run `reasonix-2026-05-24T23-33-43-450Z-e37e8564` 有完整 `process-handoff.md/json``result.json``final.md`,源码零 diff`task489``task488``task487``task451` 在 3001 全部通过。主控独立复核 result.json 后确认:`task487` 已收敛为 `transport=local-folder-events`、PageTree/FileTree 外部创建/删除均 `treeLiveApplied=resync``navigationEvents=0``task451` 四个冲突动作步骤均 `ok:true`
- 本批 3-20 采纳结论:保持 selection runtime / filetree runtime / context-menu runtime 分离;`resolveFileTreeUploadTarget``refreshLocalFolderSidebarSnapshot`、preflight fetch、conflict action 业务编排继续留在壳层;下一刀仍优先只读审计或更窄 DOM helper,不扩回大块 runtime 合并。
- 2026-05-25:当前用户已手动覆盖 goal,后续批次统一收紧为“每批最多 2 个 worker”;本文件中早先 3/4-worker 记录仅作为历史执行事实保留,不再作为后续派发口径。
- 2026-05-25Codex 主控继续收口 `resolveFileTreeUploadTarget` 的纯数据规范化层。
- 修改:`rust/crates/mnote-web/browser/filetree-runtime.js` 新增 `normalizeFileTreeUploadTargetPlan(detail, plan)`,承接 preflight 成功后的 `targetRelativePath` / `uploadIntent` 规范化;`rust/crates/mnote-web/src/ssr/pages/layout.rs::resolveFileTreeUploadTarget` 优先委托该 runtime helper,保留完整 inline fallback,以及 `preflightFileTreeUploadTarget` 的 fetch、`console.warn``fallbackFileTreeUploadTarget` 降级路径不动。
- 边界:未迁 `preflightFileTreeUploadTarget` 的 API 请求、`fallbackFileTreeUploadTarget` 的 workspace/document 语义、preflight 失败降级策略、sidebar refresh 或上传编排。
- 已验证:`node --check rust/crates/mnote-web/browser/filetree-runtime.js``cargo fmt --manifest-path rust/Cargo.toml --all --check``cargo check --manifest-path rust/Cargo.toml -p mnote-web``cargo test --manifest-path rust/Cargo.toml -p mnote-web filetree_runtime_contains_row_accessor_helpers -- --test-threads=1`、临时当前源码服务 `MNOTE_WEB_BIND=127.0.0.1:3022 MNOTE_WEB_PUBLIC_BIND=127.0.0.1:3022 cargo run --manifest-path rust/Cargo.toml -p mnote-web``MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3022 NODE_PATH=/mnt/Data1T/mnote/node_modules node scripts/task479-local-folder-markdown-resource-lifecycle-smoke.js`
- 结果:`task479``editor-upload-to-page-resource-dir``filetree-folder-drop-to-target``ok:true`,说明本刀未破坏本地 Markdown 附件上传目标与文件树文件夹拖入目标路径。
- 2026-05-25:等待 Batch BF 只读审计期间,发现未批准 residual runner 自动启动了旧 Batch BE 的 4 个 worker`0525-be-worker-a/b/c/d-*`),违反当前 goal 的“每批最多 2 个 worker”约束。
- 处置:主控已统一终止相关 `reasonix-coding-runner` / `reasonix acp` / `reasonix/dist/cli/index.js acp` 进程;不读取、不采纳这些未授权 run 的 handoff、transcript 或 smoke 结果。
- 影响:本文件中所有关于 Batch BE“按当前 goal 派发 4 worker”的口径均视为错误历史噪音,不作为事实源;后续 3-20 侧继续以已提交主线和受控 1-worker/2-worker 短批次为准。