4.6 KiB
LinuxCNC Web/WASM 任务接续指针
这是恢复工作的唯一入口。它必须保持为小型、无历史的任务指针;完整日志、源码和旧交接记录均按路径按需读取。
Current
pointer_version: 3
updated: 2026-08-21
context_id: linuxcnc-2.10.0-pre0-wasm-m1-py-c1
milestone: K8
last_verified_checkpoint: K7-RECOVERY-01-r01
task:
id: K8-REL-01
status: pending
title: compatibility and release closure
owner: WS-0
profile: milestone
next:
id: K8-REL-02
status: pending
title: migration and rollback closure
owner: WS-0
profile: milestone
Read
启动只读取本文件的 Current、Task 和 Verify。随后读取 context-lock.json 的摘要和当前任务列出的直接输入;不要自动加载路线图、覆盖矩阵、完整日志或 coverage/*.jsonl。需要历史时按需读取 docs/task-history.md,需要完整产物时使用其中的路径、大小和哈希。
基线门禁(开始修改前必须通过):
python3 scripts/validate_baseline.py
python3 scripts/validate_download_index.py
python3 -m unittest discover -s scripts -p 'test_*.py' -v
python3 scripts/validate_task_pointer.py
生成 context packet 后,在实际模型调用前运行 python3 scripts/validate_model_budget.py packet.json --context-window <window> --overhead-tokens <current-request-overhead>;--overhead-tokens 只统计本次固定提示、工具 schema 和当前状态摘要,连续执行不得把上一轮对话累加进去。流式请求必须由 scripts/model_stream.py 消费;只有 response.completed 的 provider usage 通过 validate_provider_response 才能继续。断流、context overflow、usage 异常和 length/max_tokens/max_output_tokens 截断只保存 metadata-only checkpoint,并从更小的 packet 重新开始。
Task
目标:完成兼容性与发布闭合审计,确认 K0-K8 已产出可重建的来源、manifest、ABI/protocol/runtime、配置回归和恢复证据,并把未闭合输入、REAL-EXCLUDED 项和官方 oracle 阻塞明确交给后续发布门禁。
直接输入:coverage/configuration-regression.report.json、coverage/manifest.jsonl、coverage/source-index.jsonl、context-lock.json、python-runtime/manifest.json、docs/linuxcnc-web-wasm-full-port-implementation.md。
必须产出:兼容性矩阵、来源/许可证闭合摘要、发布阻塞项和可重建 release evidence index;确认 ABI/protocol/schema/context lock 一致,不将 blocked 或派生配置冒充 accepted。
完成条件:受影响 manifest 条目均有 owner、输入、输出、测试、差异和 oracle 状态;无孤儿、无未解释差异、无静默降级;release 结论对缺失官方 oracle、资源和浏览器矩阵保持显式 blocked。
非目标:不修改 ABI/protocol/schema,不伪造许可证或官方 golden,不实现迁移/回滚工具(由 K8-REL-02 负责),不把当前报告升级为发布候选。
回滚点:保留 K8-REG-01 报告和原 context lock;删除仅限发布审计的索引/文档扩展即可恢复,不回滚已验证运行时。
Next
完成本任务后,在同一变更中把 next 提升为 Current.task,更新 last_verified_checkpoint 和最近证据摘要,并重新运行 Read 中的门禁。不得跳过未完成依赖;同一时刻只允许一个 current task。
Verify
python3 scripts/generate_source_inventory.py
python3 scripts/generate_configuration_regression.py
cmake --build build-native && ctest --test-dir build-native --output-on-failure
node web/worker/test_replay.mjs
node web/workspace/test_recovery.mjs
python3 scripts/validate_baseline.py
python3 scripts/validate_task_pointer.py
python3 -m unittest discover -s scripts -p 'test_*.py' -v
python3 scripts/validate_download_index.py
rg -n 'REAL-EXCLUDED|blocked|accepted|configuration-regression' coverage/manifest.jsonl coverage/configuration-regression.report.json docs
最近证据:coverage/configuration-regression.report.json 已枚举 264 个运动学入口和 233 个 sim 配置入口;图谱孤儿、未拥有模板和资源孤儿均为零,native/WASM 及 Worker 固定 tick/recovery 摘要重复稳定。资源缺失、未注册模块、官方 oracle 和完整浏览器矩阵继续显式 blocked。下一任务执行兼容性与发布闭合审计。
Stop
若 LinuxCNC 提交偏离 lock、必需输入缺失、需要未审查的 ABI/protocol/manifest schema 变化、索引无法确定性生成,或测试只能靠删样本/降低检查/伪装 REAL-EXCLUDED 才通过,立即记录为 blocked,不跳到下一个节点。