Files
linuxcncWebWASM/nextTask-rtcp.md

6.8 KiB
Raw Blame History

XYZAC TRT Web/WASM 指针

这是 xyzac-trt.ini Web/WASM 对标轨道的独立入口;不替代 nextTask.md 或 nextTask1.md。

Current

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

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

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

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。