7.2 KiB
Codex 重启接续 — 2026-09-23 13:56 CST
暂停状态
用户要求“暂停一下 codex,准备接续文件”。已执行:
systemctl --user stop freecad-web-acceptance.service
暂停后确认:freecad-web-acceptance.service 为 inactive/dead,MainPID=0;没有留下 OpenSCAD ninja、Vite 或 scheduler 子进程。重启 Codex 后不要擅自恢复后台,等待用户要求继续;继续时只恢复这个原单一服务,不启动第二调度器。
工作区:/home/mes123456/FreeCADWasmDev;项目目录:working/FreeCAD。
主线铁律
- 唯一主线:桌面 FreeCAD UI → Web FreeCAD UI 和功能完全对标,覆盖菜单、工具栏、任务/控制面板、属性页、对话框、右键菜单、状态反馈和完整操作者流程。
- 按共享工作台、原生文档所有者和构建目标集中处理同类问题,不拆孤立按钮;复用已有 task、facade、owner、原生产物。
- 只做源码接线、样式、原生调用和必要增量构建;不运行测试、烟测、浏览器、截图、独立类型检查、验收或证据复核。状态使用
implemented_unvalidated;构建成功不是业务完成。 - 原生构建固定
-j8;前端使用python3 tools/build_web_frontend.py,该 helper 已包含web/.freecad-web-frontend-build.lock,避免调度器与前台同时清理/写入web/dist。 - 不把空队列、查缺结果、心跳、烟测 68/68、路由标记或构建成功当全部主线完成。所有共享台账用
tools/policy_io.py原子写入。 - 不改动正在执行的包,不重复已完成源码/构建;出现冷却或无任务时沿源码游标轮转,保存下一确切文件和行号。
暂停前实际状态
最后运行 ./当前执行情况 --details 的结果:
- 查询约 2026-09-23 13:56 CST;调度已停止,第 10807 轮。
- 停止前第 10807 轮为 Import 源码查缺,不验证;当时没有待完成具体任务,也没有排队任务。
- 最后阶段说明:读取 Import 保存的源码索引和接续游标,只写 discovery JSON,不构建、不验证。
- 最后命令读取 Import 的
ImportExportPreferencesTask、ReadShapeCompoundMode、VisibleImportDialog、ExpandCompound、UseLinkGroup、ImportHidden、ReduceObjects、ShowProgress、KeepPlacement、exportHidden等入口;该查缺回合在暂停时尚未写出新的结果文件。 - 最新已完成查缺文件:
docs/current/operator-gap-discovery/run-000312.json(OpenSCAD);该文件记录的 OpenSCAD printVerbose residual 已被实现并登记,不能重做。 - 状态文件:
docs/current/freecad-web-scheduler-status.json;最后 live log:docs/current/continuation-runs/cycle-010807.log。
最近完成且必须复用
OpenSCAD
第 10806 轮已完成并登记:operator-gap-openscad-preferences-runtime-bridge,状态 implemented_unvalidated。importCSG 在 open/insert/processcsg 边界刷新 printVerbose,Add/Refresh 路径也显式刷新;原生目标 FreeCADWebOpenSCADRuntimeProbe 已用 ninja ... -j8 增量构建,前端 helper 已交付。记录保留在 docs/current/operator-gap-openscad-preferences-runtime-bridge-implementation.json。不要重建或重复实现。
Start
docs/current/start-first-start-general-settings-20260923/README.md:
start-preferences.tsx新增readStartGeneral、saveStartGeneral、FirstStartGeneralSettings、applyStartTheme;Language、UserSchema(Int)、NavigationStyle、Theme 复用现有参数 owner。start-launch-panel.tsx首次启动面板挂载共享 General settings;Done 等待设置读取完成,设置写入时显示 busy/error。- 前端构建退出 0,最后一次约 1.64s;未运行验证。
- 仓库暂无独立 Web locale loader,语言参数持久化和刷新事件已接通,但静态 shell 即时翻译仍是明确限制;不要把这项描述成已实现完整本地化。
共享工具栏/Tux
docs/current/desktop-ui-toolbar-preferences-repair-20260923/README.md:PersistentToolbars root Enabled 与 User FCParam 共同快照、OPFS、广播、失败回滚、重试和焦点恢复。docs/current/desktop-ui-toolbar-visibility-20260923/README.md:工具栏右键/Toolbars 显隐、BaseApp/MainWindow/ToolbarsBool 保存、键盘菜单、隐藏宿主、共享锁。web/src/toolbar-preferences.ts、persistent-toolbar-workspace.tsx、toolbar-visibility-menu.tsx已完成范围状态为 implemented_unvalidated。
Part UI 包
operator-gap-ui-part-menu-toolbar-family 仍为 open,但已完成的范围必须复用:
- 菜单层级、工具栏、桌面 SVG、键盘/Esc/焦点在
docs/current/desktop-ui-part-entry-repair-20260923/README.md。 - 网格转换、采样、附着、Part DocumentProbe 框选和同文档 New Sketch 已实现;New Sketch 的记录为
sketch-delivery.md。 - 当前真正剩余:PartDesign/其他 owner 的
sketcherCommand路由、跨 owner 框选、未追溯的快捷键元数据。源码读取阻塞已修复,接续说明在source-access-recovery.md、owner-routing-blocker.md。 - 不要依据旧 continuation.md 中“尚未挂载 task / New Sketch 未接线”的历史文字重复施工。
工具/执行问题修复
tools/read_implementation_source.py允许确认包命名源码的一跳直接前端 import 依赖,仍保留 packet、窗口数、总字节、单窗口和指纹预算;用于解决 Part 跨 owner 读取被错误拒绝的问题。记录:docs/current/desktop-ui-part-entry-repair-20260923/source-access-recovery.md。tools/prepare_implementation_business_batch.py的 sourceAccess 文案已同步该规则;无须重启后台以加载到下一轮,恢复服务后自然读取。tools/build_web_frontend.py现在用web/.freecad-web-frontend-build.lock串行化共享web/dist写入;等待超过 1800 秒返回 124,不反复重启。- 上下文 413 修复仍有效:scheduler session token limit 24000、prompt byte limit 16000,超限保存有界接续,不重复发送超大请求。记录:
docs/current/context-budget-recovery-20260923/README.md。
恢复后的第一步
- 读取本文件、
docs/WEB_BUSINESS_MIGRATION_RULES.md、docs/current/execution-policy.json。 - 确认服务仍为 inactive;用户明确要求继续后,运行
systemctl --user start freecad-web-acceptance.service,只恢复原服务。 - 运行
./当前执行情况 --details,读取新的 live cycle;不要把旧的 10806 OpenSCAD 或 13:47 快照当当前状态。 - 读取当前
cycle-*.log和新的 Import discovery JSON。若 Import 产生具体 gap,先登记/执行整组包;若为空,沿其nextCursor轮转,不宣称完成。 - 对任何现有 open key,优先使用其
continuationNotes、lastExecutionCheckpoint和记录路径;不重复已完成构建。原生修改才构建受影响目标-j8;前端相关组只调用一次锁定 helper。 - 每轮继续保持不验证。汇报格式:处理模块 | 对标项 | 源码落点 | 路由入口 | OCCT 边界 | 状态 | 结论。
暂停前台账结论
当前没有已登记的具体 open 任务,但这只是调度队列快照;桌面 UI → Web UI 和功能完全对标尚未完成。不要用空队列或 68/68 烟测记录改变完成定义。