Commit Graph

90 Commits

Author SHA1 Message Date
cnc
23e67bb6cd 按源验证非随机刀表保存边界
源依据:LinuxCNC src/emc/tooldata/tooldata_common.cc 的 tooldata_save() 在 DB_NOTUSED 下按 is_random_toolchanger 选择起始 pocket;非随机换刀器从 pocket 1 开始写出,跳过 spindle pocket 0。

结论:wasm-safe tooldata_common standalone probe 增加非随机保存断言,确认 pocket 0 的 spindle-only 数据不会写入普通刀表,同时 pocket 1 的真实刀具仍会保存,减少 tooldata_common/mmap 后端替换风险。

检查:./test-linuxcnc-wasm-tooldata-common-link.sh;./test-native.sh;./test-linuxcnc-source-link.sh。
2026-06-06 12:58:57 +08:00
cnc
42e5b0784d 按源验证Python插件路径节边界
源依据:LinuxCNC src/emc/pythonplugin/python_plugin.cc 的 configure() 按调用方 section 查找 TOPLEVEL,但 PATH_APPEND 固定从 PYTHON section 逐项读取并在 tilde expansion 失败时返回 PLUGIN_EXCEPTION_DURING_PATH_APPEND。

结论:wasm-safe python_plugin standalone probe 增加 REMAP/PYTHON section 分离边界,确认禁用 Python 时仍保留 LinuxCNC 的 INI 查找顺序和失败状态,不引入浏览器端 Python 执行。

检查:./test-linuxcnc-wasm-python-plugin-link.sh;./test-native.sh;./test-linuxcnc-source-link.sh。
2026-06-06 12:53:40 +08:00
cnc
64f336d6f2 按源验证tooldata低索引写入
源依据:LinuxCNC src/emc/tooldata/tooldata_mmap.cc 的 tooldata_put() 仅在 idx > last_index 时返回 IDX_NEW 并更新 last_index,否则返回 IDX_OK。

结论:wasm-safe tooldata mmap probe 增加低于当前 last_index 的写入断言,确认返回 IDX_OK、last_index 不变且数据可读回,减少 tooldata_mmap 后端替换风险。

检查:./test-linuxcnc-wasm-tooldata-link.sh;./test-native.sh;./test-linuxcnc-source-link.sh。
2026-06-06 12:48:33 +08:00
cnc
25cb6885bf 按源修正外部单位换算
结论:依据 LinuxCNC emccanon.cc 与 units.h,GET_EXTERNAL_LENGTH_UNITS 返回 user-units-per-mm 而非当前程序单位;新增 G20/G21 后 G92.3 恢复覆盖,native/source-link/test-native 均通过。
2026-06-06 08:26:21 +08:00
cnc
ccd51ff373 按源同步单位切换当前位置
结论:依据 LinuxCNC interp_convert.cc convert_length_units 与 unit_tests/interp/test_interp_basics.cc,G20/G21 切换时事件桥同步重标定当前线性坐标,native/source-link 覆盖通过。
2026-06-06 08:15:59 +08:00
cnc
6efb77b8e4 验证 tooldata reset 保留索引边界 2026-06-06 06:26:46 +08:00
cnc
e320d6d420 按源保护 PythonPlugin INI 节解析边界 2026-06-06 05:56:10 +08:00
cnc
ba2d680500 按源保护 PythonPlugin inittab 初始化边界 2026-06-06 05:49:45 +08:00
cnc
9af3443d95 按源保护 PythonPlugin 路径列表边界 2026-06-06 05:34:33 +08:00
cnc
4adcd82b74 按源保护 PythonPlugin TOPLEVEL 路径边界 2026-06-06 05:26:33 +08:00
cnc
66ea34a76d 验证 Boost.Python shim 惰性边界 2026-06-06 05:20:23 +08:00
cnc
5bc568eaa9 加强 PythonPlugin 负状态探针 2026-06-06 05:12:39 +08:00
cnc
23a4679c28 验证 tooldata NML 非空表注册路径 2026-06-06 05:08:00 +08:00
cnc
71c61fca84 补齐 tooldata 非随机同步 probe 2026-06-05 22:40:34 +08:00
cnc
6a886be52d 保留多主轴 spindle canon selector 2026-06-05 21:43:22 +08:00
cnc
37879f2a67 提示词:锁定 naivecam tolerance Canon 事件 2026-06-05 16:04:23 +08:00
cnc
a7cd889b3a 提示词:补齐 G64 naivecam tolerance 源链接覆盖 2026-06-05 15:59:51 +08:00
cnc
4887b2f64e 提示词:补齐 PythonPlugin C API WASM shim 符号
结论:按 LinuxCNC src/emc/pythonplugin/python_plugin.cc 的初始化、导入、配置和 callable 调用路径,把 PyConfig/PyStatus、PyImport_*、PyDict_SetItemString、Py_InitializeFromConfig、PyRun_SimpleString、Py_GetVersion、PyObject_Call 等符号纳入 inert WASM Python C API shim;真实 Python 执行仍保持禁用。

检查:./test-linuxcnc-wasm-python-c-api-symbols.sh 通过;./test-native.sh 通过;./test-linuxcnc-source-link.sh 通过。
2026-06-05 15:51:51 +08:00
cnc
9a4e0e3712 提示词:补齐 rtapi_vsnprintf WASM shim
结论:按 LinuxCNC src/rtapi/uspace_common.h 和 src/rtapi/rtapi.h,将 userspace rtapi_vsnprintf 适配为 vsnprintf 包装,并在 WASM runtime probe 覆盖 snprintf、va_list 和截断返回值。

检查:./test-native.sh 通过;./test-linuxcnc-source-link.sh 通过。
2026-06-05 15:29:41 +08:00
cnc
98755528e4 使用刚更新的 AGENTS.md 和 align-linuxcnc 加速规则执行
结论:按 align-linuxcnc 先确认干净基线,避免 source-map-only 和 smoke 扩展;增强 WASM runtime link probe,覆盖 LinuxCNC src/emc/rs274ngc/gcodemodule.cc 与 src/emc/task/taskclass.cc 的 _task=0 preview 边界和 builtin_modules interpreter/emccanon 表结构。\n\n测试结论:./test-linuxcnc-wasm-runtime-link.sh、./test-native.sh、./test-linuxcnc-source-link.sh 均通过。
2026-06-05 15:21:06 +08:00
cnc
504b9b6d23 使用刚更新的 AGENTS.md 和 align-linuxcnc 加速规则执行
结论:按 align-linuxcnc 先确认干净基线,避免 source-map-only 和 smoke 扩展;增强 WASM Python C API symbol probe,覆盖 LinuxCNC src/emc/rs274ngc/gcodemodule.cc、interp_python.cc、interp_namedparams.cc 等 RS274 Python/remap 源已使用的 inert API 返回边界,包括 PyObject_Str、Py*_Check、PySequence_*、PyObject_*、PyArg_ParseTuple 和 Py_BuildValue。\n\n测试结论:./test-linuxcnc-wasm-python-c-api-symbols.sh、./test-native.sh、./test-linuxcnc-source-link.sh 均通过。
2026-06-05 15:15:42 +08:00
cnc
284afa1c64 使用刚更新的 AGENTS.md 和 align-linuxcnc 加速规则执行
结论:按 align-linuxcnc 先确认干净基线,避免 source-map-only 和 smoke 扩展;增强 WASM PythonPlugin link probe,锁定 LinuxCNC src/emc/pythonplugin/python_plugin.cc / python_plugin.hh 暴露的 last_errmsg()/last_exception() 状态面,在 Python 禁用边界下仍保持插件 API 诊断一致。\n\n测试结论:./test-linuxcnc-wasm-python-plugin-link.sh、./test-native.sh、./test-linuxcnc-source-link.sh 均通过。
2026-06-05 15:11:32 +08:00
cnc
d5c6b7555a 使用刚更新的 AGENTS.md 和 align-linuxcnc 加速规则执行
结论:按 align-linuxcnc 先确认干净基线,避免 source-map-only 和 smoke 扩展;新增 WASM tooldata 运行探针对 LinuxCNC src/emc/tooldata/tooldata_mmap.cc 随机换刀 T0 查找分支的覆盖,确认随机换刀扫描会越过 pocket 0 并返回非零 T0 pocket。\n\n测试结论:./test-linuxcnc-wasm-tooldata-link.sh、./test-linuxcnc-wasm-tooldata-runtime-symbols.sh、./test-native.sh、./test-linuxcnc-source-link.sh 均通过。
2026-06-05 15:03:41 +08:00
cnc
2892f2ca9d 执行 AGENTS align-linuxcnc 加速规则
结论:补齐 WASM NML status shim 并增加可执行 runtime 探针,依据 LinuxCNC src/libnml/nml/nmlmsg.cc 和 stat_msg.cc 中 RCS_GENERIC_STATUS/RCS_STAT_MSG 构造初始化。验证通过:./test-linuxcnc-wasm-runtime-link.sh、./test-native.sh、./test-linuxcnc-source-link.sh。
2026-06-05 10:44:31 +08:00
cnc
a301965452 执行 AGENTS align-linuxcnc 加速规则
结论:补强 WASM runtime 可执行探针,依据 LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc 中程序/子程序路径解析对 wordexp() 的使用,覆盖  形式的环境变量展开。验证通过:./test-linuxcnc-wasm-runtime-link.sh、./test-native.sh、./test-linuxcnc-source-link.sh。
2026-06-05 10:31:33 +08:00
cnc
0737d5ea65 执行 AGENTS align-linuxcnc 加速规则
结论:补强 WASM Python C API 可执行探针,依据 LinuxCNC src/emc/rs274ngc/gcodemodule.cc、interpmodule.cc 和 py*.cc 对 PyObject_New、Py_TYPE、Py_None、PyList_Type 等 Python C API 的绑定用法。验证通过:./test-linuxcnc-wasm-python-c-api-symbols.sh、./test-native.sh、./test-linuxcnc-source-link.sh。
2026-06-05 10:23:49 +08:00
cnc
3a478ca335 执行 AGENTS align-linuxcnc 加速规则
结论:补强 WASM interp_base 可执行探针,依据 LinuxCNC src/emc/rs274ngc/interp_base.cc 中绝对解释器路径直接 dlopen、相对路径经 EMC2_HOME/lib/linuxcnc 解析后 dlopen 的分支。验证通过:./test-linuxcnc-wasm-interp-base-link.sh、./test-native.sh、./test-linuxcnc-source-link.sh。
2026-06-05 10:13:27 +08:00
cnc
a144576e90 执行 AGENTS align-linuxcnc 加速规则
结论:补强 WASM PythonPlugin 可执行探针,依据 LinuxCNC src/emc/pythonplugin/python_plugin.cc 中 configure() 对 INI_FILE_NAME 缺失和环境变量 INI 文件的分支。验证通过:./test-linuxcnc-wasm-python-plugin-link.sh、./test-native.sh、./test-linuxcnc-source-link.sh。
2026-06-05 10:06:39 +08:00
cnc
60745adeef 执行 AGENTS align-linuxcnc 加速规则
结论:补强 WASM tooldata 可执行探针,依据 LinuxCNC src/emc/tooldata/tooldata_mmap.cc 非随机刀库 T0 查找优先返回 pocket 0 的源行为。验证通过:./test-linuxcnc-wasm-tooldata-link.sh、./test-native.sh、./test-linuxcnc-source-link.sh。
2026-06-05 09:59:06 +08:00
cnc
6506d23dc2 继续按提示词推进:补tooldata mmap单创建者覆盖 2026-06-05 09:51:37 +08:00
cnc
6d99ca67a9 尽快推进:收紧PythonPlugin禁用边界
结论:对齐LinuxCNC src/emc/pythonplugin/python_plugin.cc initialize() 负状态语义,WASM安全shim在Python不可用时返回PLUGIN_PYTHON_NOT_INITIALIZED并保持负状态短路;未实现Python/remap执行,未扩展smoke parser。
2026-06-05 07:50:13 +08:00
cnc
ae7de73a7c 参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke
结论:补强 WASM runtime shim 的 LinuxCNC HAL source-map 与 probe,确认 HAL lookup 在浏览器安全 shim 中保持不可用边界,不扩展 smoke 行为。
2026-06-04 20:23:50 +08:00
cnc
7471444781 参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke:锁定dlfcn禁用边界
结论:按 LinuxCNC src/emc/rs274ngc/interp_base.cc 的 dlopen/dlsym/dlerror 调用点,补强 WASM dlfcn shim 与 interp_base probe,确认浏览器安全探针中动态加载保持不可用;不扩展 smoke 解析。
2026-06-04 19:59:14 +08:00
cnc
f36e2a96c4 参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke:锁定PythonPlugin负状态短路
结论:按 LinuxCNC src/emc/pythonplugin/python_plugin.cc 的 status < PLUGIN_OK 分支,补齐 WASM PythonPlugin shim 的 call/call_method 负状态短路探针;保持 Python 执行禁用,不扩展 smoke 解析。
2026-06-04 19:53:50 +08:00
cnc
aaa6dce99a 参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke:锁定tooldata未激活DB语义
结论:按 LinuxCNC src/emc/tooldata/tooldata_db.cc 锁定 tooldata_db_getall() 未激活返回 -1、tooldata_db_notify() 未激活返回 0 的 WASM shim 探针与 source-map 守卫;不启用外部 DB 服务,不扩展 smoke 解析。
2026-06-04 19:48:47 +08:00
cnc
3d368b2564 参考所有分组,完成尽量多的内容:结论为 WASM source probe 禁止夹带 smoke 后端 2026-06-03 22:07:57 +08:00
cnc
945e839e9d 参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke
结论:对齐 LinuxCNC tooldata_nml.cc 与 tooldata_db.cc 的失败诊断输出,收紧 WASM tooldata link probe;未扩展临时 smoke 行为。
2026-06-03 21:19:24 +08:00
cnc
457557dee8 参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke
结论:按 LinuxCNC source policy 将 TOOL_TABLE 恢复为 source coverage only,撤回生成 API/browser switchkins cases,并增加 checker/native 守护;表校验、native、source-link 均通过。
2026-06-03 15:13:01 +08:00
cnc
aff6f85d8a 参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke
结论:按 LinuxCNC INI TOOL_TABLE 来源扩展 switchkins/remap 配置别名和生成案例,未增加 smoke 功能行为;表校验、native、source-link 均通过。
2026-06-03 14:53:37 +08:00
cnc
b8ad3a0346 继续按 align-linuxcnc 约束:闭合 switchkins 构建预检
结论:build-wasm 入口纳入 cached switchkins/remap 表校验,LinuxCNC RS274 INI 加载按 rs274ngc_pre.cc 保留真实 ini_load 路径,Node/browser generated switchkins smoke 跳过会触发 REMAP 依赖加载的 INI_FILE_NAME 别名;native/source-link/表检查均通过。
2026-06-02 15:13:37 +08:00
cnc
5c7093ba39 按提示词结论补 INI 命名参数桥 2026-06-02 13:30:54 +08:00
cnc
0e1e22a864 按提示词结论接入 INI 参数文件桥 2026-06-02 13:26:09 +08:00
cnc
cee1bf3a3f 按提示词结论补参数文件默认回落锁 2026-06-02 13:10:32 +08:00
cnc
c2e5e8f2c8 按提示词结论修正 RTAPI shim 源码依据 2026-06-02 11:43:39 +08:00
cnc
10c1b70ed8 按 align-linuxcnc 约束补 runtime probe 源码依据 2026-06-02 11:35:55 +08:00
cnc
68b6c19392 按 align-linuxcnc 约束补 tooldata probe 源码依据 2026-06-02 11:15:09 +08:00
cnc
e1fe284078 按 align-linuxcnc 约束补 Python plugin probe 源码依据 2026-06-02 11:11:10 +08:00
cnc
082495d3ad 按 align-linuxcnc 约束补 RS274 probe 源码依据 2026-06-02 11:07:18 +08:00
cnc
e117ac8a5b 按 align-linuxcnc 约束补 tooldata shim 源码依据 2026-06-02 11:01:22 +08:00
cnc
518628bfea 按 align-linuxcnc 约束补状态 shim 源码依据 2026-06-02 10:57:04 +08:00