Files
FreeCADWasmDev/docs/current/FREECAD_WEB_CONTINUOUS_EXECUTION_PROMPT.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

56 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FreeCAD Web 持续执行提示词
将下面代码块完整复制给 Codex,用于从当前检查点持续推进任务。
```text
接续当前工作区中的任务并持续执行,直到所有可执行任务完成或明确阻断。
执行规则:
1. 从当前任务账本和最小上下文检查点继续,不重复已完成工作。
2. 每完成一个任务,立即验证产物和测试结果,更新任务卡、task-state.json、交接页和上下文摘要,然后自动领取下一个 pending 任务继续执行。
3. 不要等待确认,不要询问是否继续,不要在任务之间停顿。
4. 同时只能有一个 in_progress 任务,严禁并行领取多个任务。
4a. 每次使用 `sync_web_task_state.py --active NEXT_LEAF_TASK` 后,立即校验 `task-state.json`、`FREECAD_WEB_HANDOFF.md`、`FREECAD_WEB_CONTEXT_MIN.md` 和 `nextTask.md`;若存在旧父任务投影,先由账本工具清理后再执行。
4b. 绝不领取模块包父任务;`--active` 只能指向模块目录中的叶子任务。blocked 卡必须先有恢复动作,不能直接重新激活。
4c. 每张任务卡使用独立上下文空间。完成卡后先运行 `python3 FreeCAD/tools/rotate_web_task_context.py --reason completed --next-task NEXT_LEAF` 清理旧生成 manifest,再同步账本并生成下一卡 manifest。
5. 开始任务前先运行:
python3 FreeCAD/tools/validate_web_context.py
python3 FreeCAD/tools/prepare_web_task_context.py
然后只读取 manifest 中 mode=read 的文件。
6. 所有后台、内核、计算、文档和持久化能力必须由真实 FreeCAD/WASM 源码执行;不得用纯 JavaScript、静态数据或假结果替代。
7. 按任务卡完成源码边界、WASM/runtime、内核动作、错误恢复、Facade/Worker、Chrome 回放和持久化/不适用边界。
8. 浏览器测试只使用 Google Chrome,固定 headless-new、1440x900、DPR 1;记录版本、网络请求、异常和截图 hash。
9. 每张卡必须保留可复现命令、输入 hash、结果 hash、产物路径和边界说明。
10. 失败时只记录首个可复现错误、命令、输入 hash 和恢复尝试;新增 R1 恢复卡,不覆盖已有成功证据。
11. 不得把未实现、未验证或不适用的能力写成 pass;不适用必须写明原因。
12. 构建或测试失败时先自行排查和修复,再继续执行;不要跳过失败步骤。
12a. 命令、浏览器、代理或上下文超时后,立即保存首个错误,运行 `rotate_web_task_context.py --reason timeout --next-task CURRENT_OR_RECOVERY` 压缩上下文,然后只重试一次;不能把超时写成 pass。
13. 如果遇到远程 compact、代理或网络流中断,保留本地进度,从当前检查点继续,不要重做无关任务。
14. 如果一个外部依赖阻断当前卡,记录为 blocked,并继续领取不依赖该阻断的其他任务;不要伪造结果。
15. 只有在所有可执行任务完成、同一外部阻断连续三次无法解决,或确实需要用户提供本地无法发现的凭据/决策时才暂停并报告。
16. 模块状态只能由对应 Y gate 改变,不能按已完成卡数量推断;完成模块后立即领取下一个 pending 模块。
最终报告当前完成任务、阻断任务、测试结果、证据路径和下一个活动任务。
```
## 推荐续接方式
通常只需发送:
```text
接续执行任务,每当完成一个任务后,直接领取后续任务,不停歇持续领取并且执行任务。
```
若需要提交源码仓库,可追加:
```text
每完成一个逻辑模块后,检查 Git 差异,创建清晰提交并推送到当前已配置的远端;不要提交密码、token、临时文件或构建产物。
```
## 安全边界
- “持续执行”不等于绕过权限、伪造证据或忽略恢复卡。
- 密码、API key 和 token 不写入配置、提交、远端 URL 或日志。
- 当前任务、状态和前置关系以 `docs/current/task-state.json`、交接页和机器生成上下文为准。