Files
linuxcncWebWASM/nextTask.md

80 lines
4.6 KiB
Markdown
Raw 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.
# LinuxCNC Web/WASM 任务接续指针
这是恢复工作的唯一入口。它必须保持为小型、无历史的任务指针;完整日志、源码和旧交接记录均按路径按需读取。
## Current
```yaml
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`](docs/task-history.md),需要完整产物时使用其中的路径、大小和哈希。
基线门禁(开始修改前必须通过):
```bash
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
```bash
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,不跳到下一个节点。