Files
linuxcncWebWASM/nextTask-rtcp.md

129 lines
6.8 KiB
Markdown
Raw Permalink 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.
# XYZAC TRT Web/WASM 指针
这是 `xyzac-trt.ini` Web/WASM 对标轨道的独立入口;不替代 `nextTask.md` 或 `nextTask1.md`。
## Current
```yaml
pointer_version: 3
updated: 2026-08-27
track: xyzac-trt-web-wasm-source-parity
context_id: linuxcnc-2.10.0-pre0-wasm-m1-py-c1
active_case: linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini
milestone: M6-RELEASE-PARITY
overall_status: verified
release_status: STOP_RELEASE
context_policy: task-packet.v1
active_packet: null
last_verified_task: RELEASE-00
last_handoff: coverage/task-packets/RELEASE-00.handoff.json
```
## Read
启动只读本文件的 `Current/Task/Next/Verify/Stop/Context`,再按任务包读取:
- `doc-rtcp/xyzac-trt-control-panel-web-wasm-design.md`
- `doc-rtcp/xyzac-trt-web-wasm-implementation-plan.md`
- `doc-rtcp/xyzac-trt-web-wasm-source-parity-contract.md`
- `context-lock.json`
硬约束:LinuxCNC WASM/Worker 是 task/interpreter/TP/motion/kinematics/RTCP/HAL/IO/tool/preview/recovery/state 唯一权威;React/JS/Three.js 仅输入、投影、显示。
## Context
`task-packet.v1` 是唯一工作上下文:`coverage/task-packets/<task-id>.json`。
- 启动包只含当前 `Task` 的 `direct_inputs`、`required_outputs`、锁摘要和输入 hash;不加载聊天、旧包、完整日志或无关报告。
- 包含 `task/context/path/hash/budget/exclusions`;限 8k tokens/12 files,大文件按 symbol 拆包。
- 收口先写 `coverage/task-packets/<task-id>.handoff.json`(结果、测试、失败样本、报告哈希、下一个任务 ID),再把 `active_packet` 置空。
- 自动认领下一任务前必须重新读取本文件、校验指针/锁/依赖并确认旧包清理;残留或不一致时 `blocked`,不得复用上一任务上下文。
## Task
```yaml
id: RELEASE-00
status: verified
title: WASM-only Release Gate
owner: xyzac-trt-web-wasm
milestone: M6-RELEASE-PARITY
context_id: linuxcnc-2.10.0-pre0-wasm-m1-py-c1
depends_on: [RTCP-12]
active_case: linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini
direct_inputs:
- doc-rtcp/xyzac-trt-web-wasm-source-parity-contract.md
- coverage/xyzac-trt-web-wasm-parity.report.json
- context-lock.json
required_outputs:
- coverage/xyzac-trt-wasm-only-release-gate.report.json
objective: >-
对 xyzac-trt.ini 执行最终 WASM-only release gate;
selected-case evidence 完整时仍保留 scope exclusions 和 STOP_RELEASE,不宣称全 LinuxCNC 发布。
completion_conditions:
- xyzac_wasm_only_capability_verified
- xyzac_selected_case_evidence_index_verified
- xyzac_scope_exclusions_stop_release_verified
- xyzac_release_report_self_hash_verified
```
实施:冻结输入哈希,解析配置/引用图,登记 control、handler、command、gate、state、error、visual、recovery,生成 source-slice report;缺 source path/symbol/hash、WASM 映射或测试边界即 blocked。
## Next
```yaml
next_task: null
status: complete
title: completed selected-case track
depends_on: [RELEASE-00]
required_outputs:
- none
scope_note: xyzac-trt.ini only; other cases remain out of scope
```
固定顺序:`SRC-00 → WASM-00 → RTCP-01/02/03 → RTCP-04/05/06 → RTCP-07 → RTCP-08 → PARITY-00 + RTCP-09/10 → RTCP-11 → UI-00 → RTCP-12 → RELEASE-00`。
里程碑:`M0-SOURCE → M1-WASM-AUTHORITY → M2-CONTROL-PARITY → M3-CANONICAL-PARITY → M4-FRONTEND-PARITY → M5-RECOVERY-PARITY → M6-RELEASE-PARITY`。
## Verify
```bash
python3 scripts/validate_baseline.py
python3 scripts/validate_download_index.py
python3 scripts/validate_task_pointer.py nextTask-rtcp.md --lock context-lock.json
bash -n run-5axis-rtcp.sh
./run-5axis-rtcp.sh
./run-5axis-rtcp.sh xyzbc-trt.ini
```
收口必须运行专项 generator/test、真实 WASM Worker/session、native 对照、React typecheck/build 和报告 self-hash;不得用 mock、JS preview、墙钟或静态截图代替 authority 证据。报告必须包含 command trace、tick、state hash、first divergent tick、error 和 blocker。
## Execute
完整提示词:`doc-rtcp/xyzac-trt-autonomous-execution-prompt.md`。每轮按:基线/指针门禁 → 建当前 task packet → `queued→in_progress` → 失败边界测试和最小切片 → 真实 WASM Worker/session + native 对照 → trace/state/error/recovery/hash → `verified` 或 `blocked` → 写 handoff、清理 packet、重新加载指针后再认领依赖满足的下一项。不得停在 `verified+queued`。
连续执行硬规则:
- 所有 task/interpreter/TP/motion/XYZAC kinematics/RTCP/HAL/IO/tool/preview/recovery/state hash 唯一来自 LinuxCNC WASM/Worker。
- React/JS/Three.js 只能输入、投影和显示;禁止 JS preview、JS 姿态补偿、浏览器墙钟 tick、直接 WASM 指针和主线程 OPFS 写入。
- 每个副作用命令必须有 `seq`、`operation_id`、ledger prepare/ack/result/commit/reconcile;超时不能盲目重发。
- 每个 source slice 必须有 source path/symbol/hash、native/WASM command、gate、authoritative output、错误、恢复和 Web control id。
- 五轴必须验证 `M428/M429/M430`、`motion.switchkins-type`、XYZAC 五 joints、A/C 角度单位、tool offset、rotation/axis offset、奇异和 limits。
- 每项必须保留 normal、boundary、error、pause/resume/abort、recovery 和 deterministic hash(适用时)。
- 失败保留为 `SOURCE_BLOCKED`、`HOST_EXCLUDED`、`REAL-EXCLUDED`、`BLOCKED_RESOURCE`、`BLOCKED_HAL`、`BLOCKED_INI`、`BLOCKED_STARTUP` 或具体 runtime pending;不得删样本、降检查或伪造通过。
- 不得修改 `nextTask.md`、`nextTask1.md`、ABI、protocol、schema、context lock、许可证决定或 release gate。
- 每隔约 30 秒报告 task、检查、测试和 blocker;勿粘贴长日志。
只有专项测试、完整回归、native/WASM/Worker 证据和 report self-hash 全部通过才能 verified;selected-case verified 不等于全 LinuxCNC parity。
## Stop
- 任意 AXIS 页面、菜单、工具栏、按钮、快捷键、PyVCP 控件、G-code/remap、状态字段或错误没有 source slice。
- 任意 task/motion/kinematics/program/RTCP/IO/preview/recovery 状态由 JS/React/Three.js 生成。
- M428/M429/M430 没有 WASM remap、HAL pin、`motion.switchkins-type` 和结果 snapshot 确认。
- native/WASM trace 只比较最终坐标,未保存首个差异 tick。
- gate 与 LinuxCNC 源码不一致,或 ESTOP/OFF/ON/HOME/IDLE/RUNNING/PAUSED/limit/fault 约束不可解释。
- recovery 可能重复 G-code、轨迹段、M-code、tool/IO side effect 或 kinematics transition。
- exact resource、官方 oracle、浏览器、OPFS、实时硬件或 owner 输入缺失。
- 需要修改 ABI/protocol/schema/context lock/release gate,但没有批准任务和兼容测试。
- 不得把 selected-case verified 写成全 LinuxCNC parity;默认 `release_status: STOP_RELEASE`。