Files
linuxcncWebWASM/nextTask.md

90 lines
4.9 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: K8-REL-15-r01
task:
id: K8-REL-15
status: blocked
title: owner review and release gate refresh
owner: WS-7
profile: milestone
next:
id: K8-REL-16
status: pending
title: new context and release gate refresh after owner decisions
owner: WS-7
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
**目标**:检查 K8-REL-14 roundup 后是否存在六项 owner decision 或新锁定输入,并在缺失时 fail-closed;保留六项阻塞和 `STOP_RELEASE`。
**直接输入**:`coverage/remediation-evidence-roundup.report.json`、`coverage/release-candidate-gate.report.json`、`coverage/post-release-audit.report.json`、`context-lock.json`。
**必须产出**:`coverage/owner-review-gate-refresh.report.json`、六项 owner decision 缺口和可重建的 blocked release 结论;没有 owner 输入时不得刷新 gate、升级 blocked、删除样本或就地覆盖 context lock。
**完成条件**:六项 owner decision 状态逐项可定位;当前工作区无批准输入时,task 必须为 `blocked`,gate refresh 必须 blocked,`STOP_RELEASE` 必须 verified。
**非目标**:不替 owner 做 manifest/context/许可证/browser/oracle 决策,不修改 ABI/protocol/schema/context lock,不升级 accepted,不清除其他 K8 release blockers。
**回滚点**:保留 K8-REL-01..14 全部报告、原 manifest、license source index 和 context lock;owner-review report 为新增证据,删除它即可回到 roundup 状态。
## Next
完成本任务后,在同一变更中把 `next` 提升为 `Current.task`,更新 `last_verified_checkpoint` 和最近证据摘要,并重新运行 `Read` 中的门禁。不得跳过未完成依赖;同一时刻只允许一个 current task。
## Verify
```bash
python3 scripts/generate_release_closure.py
python3 scripts/generate_post_release_audit.py
python3 scripts/generate_k8_milestone_closeout.py
python3 scripts/generate_release_remediation_intake.py
python3 scripts/generate_manifest_ownership_remediation.py
python3 scripts/generate_release_acceptance_remediation.py
python3 scripts/generate_official_oracle_remediation.py
python3 scripts/generate_configuration_resource_remediation.py
python3 scripts/generate_browser_matrix_remediation.py
python3 scripts/generate_implementation_license_remediation.py
python3 scripts/generate_remediation_evidence_roundup.py
python3 scripts/generate_owner_review_gate_refresh.py
node web/worker/test_replay.mjs
node web/workspace/test_recovery.mjs
node web/workspace/test_migration.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|release-evidence|ownership|acceptance|oracle|resource|browser|remediation|migration|rollback|SPDX|NOTICE|license|release candidate|STOP_RELEASE|post-release' coverage docs
```
最近证据:K8-REL-15 的 `coverage/owner-review-gate-refresh.report.json` 已定位六项 owner decision,owner inputs=0、gate refresh=blocked,`STOP_RELEASE` verified;下一步等待 owner 提供决定后创建新 context 并刷新 gate。
## Stop
若 LinuxCNC 提交偏离 lock、必需输入缺失、需要未审查的 ABI/protocol/manifest schema 变化、索引无法确定性生成,或测试只能靠删样本/降低检查/伪装 `REAL-EXCLUDED` 才通过,立即记录为 blocked,不跳到下一个节点。