Some checks failed
FreeCAD master CI / Prepare (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
FreeCAD master CI / Pixi (push) Has been cancelled
FreeCAD master CI / Ubuntu (push) Has been cancelled
FreeCAD master CI / Windows (push) Has been cancelled
FreeCAD master CI / Lint (push) Has been cancelled
FreeCAD master CI / WrapUp (push) Has been cancelled
Stale Issues / stale (push) Has been cancelled
CodeQL Advanced (c-cpp) / Analyze (c-cpp) (push) Has been cancelled
Push Crowdin Translations / update-crowdin (push) Has been cancelled
Fetch Crowdin Translations / update-crowdin (push) Has been cancelled
Build Release / upload_src (push) Has been cancelled
Build Release / build (10.13, macos-15-intel, osx-64) (push) Has been cancelled
Build Release / build (11.0, macos-latest, osx-arm64) (push) Has been cancelled
Build Release / build (15.0, macos-latest, osx-arm64) (push) Has been cancelled
Build Release / build (ubuntu-22.04, linux-64) (push) Has been cancelled
Build Release / build (ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Build Release / build (windows-latest, win-64) (push) Has been cancelled
Monthly issue metrics / issue metrics (push) Has been cancelled
84 lines
7.2 KiB
Markdown
84 lines
7.2 KiB
Markdown
# Codex 重启接续 — 2026-09-23 13:56 CST
|
||
|
||
## 暂停状态
|
||
|
||
用户要求“暂停一下 codex,准备接续文件”。已执行:
|
||
|
||
```sh
|
||
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/Toolbars` Bool 保存、键盘菜单、隐藏宿主、共享锁。
|
||
- `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`。
|
||
|
||
## 恢复后的第一步
|
||
|
||
1. 读取本文件、`docs/WEB_BUSINESS_MIGRATION_RULES.md`、`docs/current/execution-policy.json`。
|
||
2. 确认服务仍为 inactive;用户明确要求继续后,运行 `systemctl --user start freecad-web-acceptance.service`,只恢复原服务。
|
||
3. 运行 `./当前执行情况 --details`,读取新的 live cycle;不要把旧的 10806 OpenSCAD 或 13:47 快照当当前状态。
|
||
4. 读取当前 `cycle-*.log` 和新的 Import discovery JSON。若 Import 产生具体 gap,先登记/执行整组包;若为空,沿其 `nextCursor` 轮转,不宣称完成。
|
||
5. 对任何现有 open key,优先使用其 `continuationNotes`、`lastExecutionCheckpoint` 和记录路径;不重复已完成构建。原生修改才构建受影响目标 `-j8`;前端相关组只调用一次锁定 helper。
|
||
6. 每轮继续保持不验证。汇报格式:处理模块 | 对标项 | 源码落点 | 路由入口 | OCCT 边界 | 状态 | 结论。
|
||
|
||
## 暂停前台账结论
|
||
|
||
当前没有已登记的具体 open 任务,但这只是调度队列快照;桌面 UI → Web UI 和功能完全对标**尚未完成**。不要用空队列或 68/68 烟测记录改变完成定义。
|