接续上一轮,按接续文件持续推进

结论:已完成剩余77个SKIP的promotion复核;仅2个main SKIP且promotion_allowed均为0,当前baseline保持82/82/77/0,并新增文档与docs smoke防止误promotion。
This commit is contained in:
2026-06-20 08:07:06 +08:00
parent 07869f5c69
commit c2e07518d3
5 changed files with 246 additions and 6 deletions

View File

@@ -26,6 +26,44 @@ as a blanket reason to reduce the skip baseline. The next useful promotions are
case promotions from Node inventory or representative coverage into browser,
diagnostics, and release evidence.
## 2026-06-20 Remaining Skip Promotion Audit
The generated audit for the remaining 77 skipped rows is:
```text
build/wasm/sim-configs-inventory/remaining-skip-main-program-promotion-audit.tsv
```
It contains only two skipped rows whose class is `main`:
| Path | Skip kind | Native status | Promotion allowed | Decision |
| --- | --- | --- | ---: | --- |
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_g533.ngc` | `UPSTREAM-DEMO` | `FAIL` with `upstream-demo-missing-motion-gcode` | 0 | Preserve as an upstream demo edge; do not force into PASS. |
| `axis/vismach/millturn/example.ngc` | `L4-USER-M-PROCESS` | `PASS` | 0 | Web virtual HAL proof exists for M428/M429 to M128/M129 transition state, but arbitrary external user-M process execution remains disabled and is not an inventory promotion proof. |
The remaining skipped rows are not direct main-program promotion targets:
```text
ASSET-ONLY=65
NON_MAIN_CLASS=10
```
The 2026-06-20 audit conclusion is therefore explicit:
```text
remaining_skip_count=77
remaining_skipped_main_program_rows=2
remaining_skipped_main_program_promotion_allowed=0
direct_inventory_promotion_rows=0
baseline_change_allowed=no
```
Future work should add browser diagnostics and release evidence for already
passing Node inventory or representative rows. It should not change the
inventory baseline unless a later patch supplies LinuxCNC-owned native proof,
Node/WASM proof, browser proof, and a manual promotion-lock update for the row
being promoted.
## What Virtual HAL Unlocks
The virtual HAL is now a source-derived Web simulation replacement for these

View File

@@ -63,6 +63,19 @@ incomplete user-M process native/inventory promotion proof, even though the
browser simulation state now includes a source-derived virtual HAL proof for
the `M429 -> M129` turn and `M428 -> M128` mill state transitions. The TWP
`incremental_repetition_g533.ngc` row remains preserved upstream demo evidence.
The 2026-06-20 re-audit confirmed that there are no directly promotable
remaining skipped main-program rows:
```text
remaining_skip_count=77
remaining_skipped_main_program_rows=2
remaining_skipped_main_program_promotion_allowed=0
direct_inventory_promotion_rows=0
baseline_change_allowed=no
```
The 65 `ASSET-ONLY` rows and 10 `NON_MAIN_CLASS` rows remain non-main evidence
targets, not standalone browser main programs.
SDK and workflow-overview release URL summaries expose the current
`evidence-ready` layer as dashboard fields: `evidence-ready-candidate-rows=8`,

View File

@@ -45,6 +45,11 @@ for (const phrase of [
"sim_configs_wasm_node_inventory_skip_UPSTREAM_DEMO=1",
"build/wasm/sim-configs-inventory/skip-summary.tsv",
"build/wasm/sim-configs-inventory/blocked-dependency-summary.tsv",
"remaining_skip_count=77",
"remaining_skipped_main_program_rows=2",
"remaining_skipped_main_program_promotion_allowed=0",
"direct_inventory_promotion_rows=0",
"baseline_change_allowed=no",
"verify_no_standalone_cnc_semantics.sh",
"verify_sim_configs_coverage_docs.sh",
"L4-PYTHON-REMAP",
@@ -65,6 +70,11 @@ for (const phrase of [
"axis/rose_engine/rcone_demo.ngc",
"axis/external_offsets/queuebuster.ngc",
"Web Simulation Improvements From Virtual HAL",
"2026-06-20 Remaining Skip Promotion Audit",
"remaining_skipped_main_program_promotion_allowed=0",
"direct_inventory_promotion_rows=0",
"axis/vismach/millturn/example.ngc",
"incremental_repetition_g533.ngc",
"Browser and Node simulation no longer need host `halcmd`, `halrun`, or a",
"servo-period stepping",
"8 diagnostics-ready candidates across 3 families and 17 source files",
@@ -109,4 +119,33 @@ if (existsSync(skipSummaryPath)) {
);
}
const remainingSkipAuditPath = resolve(
root,
"build/wasm/sim-configs-inventory/remaining-skip-main-program-promotion-audit.tsv",
);
if (existsSync(remainingSkipAuditPath)) {
const rows = parseTsv(readFileSync(remainingSkipAuditPath, "utf8"));
assert.equal(rows.length, 2);
assert.deepEqual(
rows.map((row) => row.path).sort(),
[
"axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_g533.ngc",
"axis/vismach/millturn/example.ngc",
],
);
assert.deepEqual(
Object.fromEntries(rows.map((row) => [row.path, row.skip_kind])),
{
"axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_g533.ngc":
"UPSTREAM-DEMO",
"axis/vismach/millturn/example.ngc": "L4-USER-M-PROCESS",
},
);
for (const row of rows) {
assert.equal(row.class, "main");
assert.equal(row.promotion_allowed, "0");
assert.equal(row.promotion_ready, "0");
}
}
console.log("sim_configs_coverage_docs_node_smoke=ok");