Validate AXIS task state flow

This commit is contained in:
wangdequan
2026-07-09 18:12:01 -04:00
parent f99ba2bbe8
commit f4b9911d45
57 changed files with 195248 additions and 647 deletions

View File

@@ -1,5 +1,28 @@
# 06-决策记录
## D-046task status JSON 不再保留旧顶层字段兼容视图
日期2026-07-08
状态:已采纳
### 决策
`lctask_read_status_json()` 只通过 `emcStatus` 导出 task/motion/io/top 状态,不再输出 `taskTopLevelStatus``rcsStatus`、顶层 `task``servoCycle`、顶层 `motionStatus`
本决策取代 D-044 中“既有旧字段保留为兼容视图”的部分D-044 中“status JSON 对标 LinuxCNC status buffer、JSON 不能成为事实源、read status 只读”的部分继续有效。
### 理由
上层项目已经迁移到 `emcStatus` 契约。继续在源头输出旧字段会扩大状态表面,导致 SDK/UI 继续依赖旧字段,并让后续 LinuxCNC `EMC_STAT` 对标和契约测试同时维护两套入口。
### 影响
- `status_json()` 移除旧顶层字段输出。
- `emcStatus.task``emcStatus.motion` 补齐旧视图中仍需要的字段。
- WASM、SDK、state matrix 和 status contract 测试均对旧顶层字段做负向断言。
- 后续新增字段只能进入 `emcStatus` 或底层 C/C++ status buffer不新增旧字段兼容视图。
## D-045SJ-1 到 SJ-5 必须进入任务矩阵并由 contract gate 固定
日期2026-07-08