53 个 Python-remap inventory rows 批量提升为 PASS

结论:53 个 Python-remap inventory rows 已完成 row proof、browser proof 与 inventory baseline promotion,当前 inventory baseline 为 PASS=82 / SKIP=77 / unexpected_fail=0。
This commit is contained in:
2026-06-20 05:53:49 +08:00
parent ac52b48d62
commit b057f8038b
29 changed files with 1701 additions and 245 deletions

View File

@@ -94,7 +94,7 @@ const browserDiagnosticsArtifact = {
preferredGcodePath: "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/on_abort.ngc",
blockedCandidateIds: [],
explicitBrowserDiagnosticsCount: 8,
inventoryBaseline: "executed=29 passed=29 skipped=130 unexpected_fail=0",
inventoryBaseline: "executed=82 passed=82 skipped=77 unexpected_fail=0",
},
virtualHalSimConfigMacroLoadFixtures,
virtualHalCommandScriptFixtures: createVirtualHalCommandScriptFixtureReport({ halState: virtualHalState }),
@@ -217,7 +217,7 @@ assert.equal(
);
assert.equal(
readySummary.rows.find(({ id }) => id === "virtual-hal-promotion-candidate-baseline")?.value,
"executed=29 passed=29 skipped=130 unexpected_fail=0",
"executed=82 passed=82 skipped=77 unexpected_fail=0",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "promotion-candidate-artifact")?.value,
@@ -225,11 +225,11 @@ assert.equal(
);
assert.equal(
readySummary.rows.find(({ id }) => id === "promotion-candidate-layers")?.value,
"evidence-ready=8 inventory-ready=19",
"evidence-ready=8 inventory-ready=2",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "promotion-candidate-total")?.value,
"27",
"10",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "evidence-ready-candidate-rows")?.value,
@@ -257,7 +257,7 @@ assert.equal(
);
assert.equal(
readySummary.rows.find(({ id }) => id === "promotion-candidate-artifact-rows")?.value,
"27",
"10",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "evidence-expansion-artifact-rows")?.value,
@@ -305,11 +305,11 @@ assert.equal(
);
assert.equal(
readySummary.rows.find(({ id }) => id === "hard-block-runtime-locked-rows")?.value,
"18",
"1",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "hard-block-runtime-locked-preview")?.value,
"L4-PYTHON-REMAP:axis/laser/raster_test.ngc, L4-PYTHON-REMAP:axis/laser/vector_test.ngc, L4-PYTHON-REMAP:axis/laser/vector_test2.ngc",
"L4-USER-M-PROCESS:axis/vismach/millturn/example.ngc",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "hard-block-runtime-promotion-allowed")?.value,
@@ -321,15 +321,15 @@ assert.equal(
);
assert.equal(
readySummary.rows.find(({ id }) => id === "hard-block-runtime-family-summary")?.value,
"L4-USER-M-PROCESS:1 locked=yes, L4-PYTHON-REMAP:17 locked=yes",
"L4-USER-M-PROCESS:1 locked=yes, L4-PYTHON-REMAP:0 locked=yes",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "hard-block-runtime-detail-row-count")?.value,
"18",
"1",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "hard-block-runtime-detail-preview-1")?.value,
"L4-PYTHON-REMAP:axis/laser/raster_test.ngc; reason=design_linuxcnc_python_runtime_boundary; next=python_runtime_owner_and_fixture; promotion_allowed=0",
"L4-USER-M-PROCESS:axis/vismach/millturn/example.ngc; reason=design_m128_m129_linuxcnc_state_boundary; next=kinstype_guard_and_ini_xyz_hal_pin_state; promotion_allowed=0",
);
assert.equal(
readySummary.rows.find(({ id }) => id === "hard-block-runtime-lock")?.value,
@@ -357,14 +357,14 @@ assert.deepEqual(
["artifact-validation", "ready"],
["virtual-hal-promotion-families", expectedPromotionFamilySummary],
["promotion-candidate-artifact", "wasm-port/build/wasm/sim-configs-inventory/promotion-candidates.tsv"],
["promotion-candidate-layers", "evidence-ready=8 inventory-ready=19"],
["promotion-candidate-total", "27"],
["promotion-candidate-layers", "evidence-ready=8 inventory-ready=2"],
["promotion-candidate-total", "10"],
["evidence-ready-candidate-rows", "8"],
["evidence-ready-candidate-preview", "qtdragon-multi-joint-on-abort"],
["evidence-ready-candidate-preview-gcode", "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/on_abort.ngc"],
["evidence-ready-candidate-promotion-allowed", "0"],
["evidence-ready-candidate-baseline-changing", "no"],
["promotion-candidate-artifact-rows", "27"],
["promotion-candidate-artifact-rows", "10"],
["evidence-expansion-candidates", "14"],
["evidence-expansion-artifact-rows", "14"],
["evidence-expansion-next-evidence", "browser-diagnostics-binding"],
@@ -377,21 +377,17 @@ assert.deepEqual(
["evidence-expansion-source-count-list", "3, 3, 3"],
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
["promotion-candidate-allowed", "0"],
["hard-block-runtime-locked-rows", "18"],
["hard-block-runtime-locked-preview", "L4-PYTHON-REMAP:axis/laser/raster_test.ngc, L4-PYTHON-REMAP:axis/laser/vector_test.ngc, L4-PYTHON-REMAP:axis/laser/vector_test2.ngc"],
["hard-block-runtime-locked-rows", "1"],
["hard-block-runtime-locked-preview", "L4-USER-M-PROCESS:axis/vismach/millturn/example.ngc"],
["hard-block-runtime-promotion-allowed", "0"],
["hard-block-runtime-family-count", "2"],
["hard-block-runtime-family-summary", "L4-USER-M-PROCESS:1 locked=yes, L4-PYTHON-REMAP:17 locked=yes"],
["hard-block-runtime-detail-row-count", "18"],
["hard-block-runtime-detail-preview-1", "L4-PYTHON-REMAP:axis/laser/raster_test.ngc; reason=design_linuxcnc_python_runtime_boundary; next=python_runtime_owner_and_fixture; promotion_allowed=0"],
["hard-block-runtime-detail-preview-2", "L4-PYTHON-REMAP:axis/laser/vector_test.ngc; reason=design_linuxcnc_python_runtime_boundary; next=python_runtime_owner_and_fixture; promotion_allowed=0"],
["hard-block-runtime-detail-preview-3", "L4-PYTHON-REMAP:axis/laser/vector_test2.ngc; reason=design_linuxcnc_python_runtime_boundary; next=python_runtime_owner_and_fixture; promotion_allowed=0"],
["hard-block-runtime-detail-preview-4", "L4-PYTHON-REMAP:axis/remap/cycle/nc_files/examples.ngc; reason=design_linuxcnc_python_runtime_boundary; next=python_runtime_owner_and_fixture; promotion_allowed=0"],
["hard-block-runtime-detail-preview-5", "L4-PYTHON-REMAP:axis/remap/extend-builtins/nc_files/examples.ngc; reason=design_linuxcnc_python_runtime_boundary; next=python_runtime_owner_and_fixture; promotion_allowed=0"],
["hard-block-runtime-family-summary", "L4-USER-M-PROCESS:1 locked=yes, L4-PYTHON-REMAP:0 locked=yes"],
["hard-block-runtime-detail-row-count", "1"],
["hard-block-runtime-detail-preview-1", "L4-USER-M-PROCESS:axis/vismach/millturn/example.ngc; reason=design_m128_m129_linuxcnc_state_boundary; next=kinstype_guard_and_ini_xyz_hal_pin_state; promotion_allowed=0"],
["hard-block-runtime-family-L4-USER-M-PROCESS", "1 locked rows; promotion_allowed=0; first=axis/vismach/millturn/example.ngc; reason=design_m128_m129_linuxcnc_state_boundary; next=kinstype_guard_and_ini_xyz_hal_pin_state"],
["hard-block-runtime-family-L4-PYTHON-REMAP", "17 locked rows; promotion_allowed=0; first=axis/laser/raster_test.ngc; reason=design_linuxcnc_python_runtime_boundary; next=python_runtime_owner_and_fixture"],
["hard-block-runtime-family-L4-PYTHON-REMAP", "0 locked rows; promotion_allowed=0; first=not provided; reason=not provided; next=not provided"],
["hard-block-runtime-family-L4-USER-M-PROCESS-paths", "axis/vismach/millturn/example.ngc"],
["hard-block-runtime-family-L4-PYTHON-REMAP-paths", "axis/laser/raster_test.ngc, axis/laser/vector_test.ngc, axis/laser/vector_test2.ngc, axis/remap/cycle/nc_files/examples.ngc, axis/remap/extend-builtins/nc_files/examples.ngc, axis/remap/getting-started/nc_files/examples.ngc, axis/remap/manual-toolchange-with-tool-length-switch/nc_files/tcdemo.ngc, axis/remap/rack-toolchange/nc_files/tcdemo.ngc, axis/remap/stop-lookahead/nc_files/examples.ngc, axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/circular_pocket.ngc, axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_back_and_forth.ngc, axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition.ngc, axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/simple_example.ngc, axis/vismach/VMC_toolchange/toolchange.ngc, gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzac.ngc, gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzbc.ngc, gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/impeller-7bl-xyzac.ngc"],
["hard-block-runtime-family-L4-PYTHON-REMAP-paths", "not provided"],
["tool-db-process-proof", "ready"],
["tool-db-process-proof-detail", "wasm=ready browser=ready opfs=ready promotion_allowed=0"],
["python-remap-runtime-proof", "ready"],
@@ -406,7 +402,7 @@ assert.deepEqual(
["virtual-hal-promotion-family-count", "3 families"],
["virtual-hal-promotion-source-file-count", "17 source files"],
["virtual-hal-promotion-browser-diagnostics-count", "8 diagnostics-ready"],
["virtual-hal-promotion-candidate-baseline", "executed=29 passed=29 skipped=130 unexpected_fail=0"],
["virtual-hal-promotion-candidate-baseline", "executed=82 passed=82 skipped=77 unexpected_fail=0"],
["hard-block-runtime-lock", "locked (2 families)"],
["promoted-blocked-family-count", "0 promoted"],
["saved-session-diagnostics", "ready"],

View File

@@ -296,7 +296,7 @@ assert.deepEqual(createProjectReleaseReadinessSummaryViewModel(report), {
{
id: "promotion-candidate-layers",
label: "Promotion candidate layers",
value: "evidence-ready=8 inventory-ready=19",
value: "evidence-ready=8 inventory-ready=2",
},
{
id: "promotion-candidate-allowed",
@@ -438,9 +438,9 @@ assert.deepEqual(
["virtual-hal-sim-config-source-coverage", "ready"],
["virtual-hal-sim-config-promotion-candidates", "ready"],
["promotion-candidate-artifact", "wasm-port/build/wasm/sim-configs-inventory/promotion-candidates.tsv"],
["promotion-candidate-layers", "evidence-ready=8 inventory-ready=19"],
["promotion-candidate-total", "27"],
["promotion-candidate-artifact-rows", "27"],
["promotion-candidate-layers", "evidence-ready=8 inventory-ready=2"],
["promotion-candidate-total", "10"],
["promotion-candidate-artifact-rows", "10"],
["evidence-expansion-candidates", "14"],
["evidence-expansion-artifact-rows", "14"],
["evidence-expansion-next-evidence", "browser-diagnostics-binding"],
@@ -543,14 +543,14 @@ assert.deepEqual(
["artifact-validation", "ready"],
["virtual-hal-promotion-families", expectedPromotionFamilySummary],
["promotion-candidate-artifact", "wasm-port/build/wasm/sim-configs-inventory/promotion-candidates.tsv"],
["promotion-candidate-layers", "evidence-ready=8 inventory-ready=19"],
["promotion-candidate-total", "27"],
["promotion-candidate-layers", "evidence-ready=8 inventory-ready=2"],
["promotion-candidate-total", "10"],
["evidence-ready-candidate-rows", "0"],
["evidence-ready-candidate-preview", "not provided"],
["evidence-ready-candidate-preview-gcode", "not provided"],
["evidence-ready-candidate-promotion-allowed", "0"],
["evidence-ready-candidate-baseline-changing", "no"],
["promotion-candidate-artifact-rows", "27"],
["promotion-candidate-artifact-rows", "10"],
["evidence-expansion-candidates", "14"],
["evidence-expansion-artifact-rows", "14"],
["evidence-expansion-next-evidence", "browser-diagnostics-binding"],

View File

@@ -238,15 +238,15 @@ const expectedPromotionCandidateArtifactSummary = {
evidenceExpansionArtifactPath: "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv",
layerCount: 2,
evidenceReadyCount: 8,
inventoryReadyCount: 19,
inventoryReadyCount: 2,
evidenceExpansionCandidateCount: 14,
totalCandidateCount: 27,
totalCandidateCount: 10,
promotionAllowedCount: 0,
hardBlockRuntimeLock: "locked (2 families)",
hardBlockRuntimePromotionAllowedCount: 0,
inventoryBaseline: "executed=29 passed=29 skipped=130 unexpected_fail=0",
inventoryBaseline: "executed=82 passed=82 skipped=77 unexpected_fail=0",
artifactRows: {
promotionCandidates: 27,
promotionCandidates: 10,
evidenceExpansion: 14,
},
hardBlockRuntimeFamilyRows: [],
@@ -283,7 +283,7 @@ const expectedPromotionCandidateArtifactSummary = {
},
{
id: "inventory-ready",
candidateCount: 19,
candidateCount: 2,
promotionAllowedCount: 0,
virtualHalEvidenceReady: false,
baselineChanging: false,
@@ -1059,9 +1059,9 @@ assert.equal(VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_FIXTURES.length >= 2, true);
assert.equal(VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_BLOCKED_FIXTURES.length >= 2, true);
assert.equal(VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_AUDIT_CANDIDATES.length >= 2, true);
assert.deepEqual(VIRTUAL_HAL_SIM_CONFIG_INVENTORY_BASELINE, {
executed: 29,
passed: 29,
skipped: 130,
executed: 82,
passed: 82,
skipped: 77,
unexpectedFail: 0,
});
assert.deepEqual(VIRTUAL_HAL_SIM_CONFIG_INVENTORY_ARTIFACT_HASHES, {
@@ -1401,7 +1401,7 @@ const browserDiagnosticsArtifact = {
preferredGcodePath: "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/on_abort.ngc",
blockedCandidateIds: [],
explicitBrowserDiagnosticsCount: 8,
inventoryBaseline: "executed=29 passed=29 skipped=130 unexpected_fail=0",
inventoryBaseline: "executed=82 passed=82 skipped=77 unexpected_fail=0",
},
virtualHalSimConfigMacroLoadFixtures: simConfigMacroLoadFixtureReport,
virtualHalCommandScriptFixtures: commandScriptFixtureReport,
@@ -1678,7 +1678,7 @@ assert.deepEqual(
);
assert.equal(
releaseReadinessReady.rows.find(({ id }) => id === "promotion-candidate-artifact-rows")?.value,
"27",
"10",
);
assert.equal(
releaseReadinessReady.rows.find(({ id }) => id === "evidence-expansion-artifact-rows")?.value,
@@ -1737,7 +1737,7 @@ assert.equal(
);
assert.equal(
createProjectReleaseReadinessSummaryViewModel(releaseReadinessReady).rows.find(({ id }) => id === "promotion-candidate-layers")?.value,
"evidence-ready=8 inventory-ready=19",
"evidence-ready=8 inventory-ready=2",
);
const releaseReadinessWithCandidateArtifacts = createProjectReleaseReadinessReport({
observedOutputs: ["project_release_gate=ok"],
@@ -1749,11 +1749,11 @@ const releaseReadinessWithCandidateArtifacts = createProjectReleaseReadinessRepo
evidenceExpansionRows: evidenceExpansionArtifactRows,
pythonRemapRuntimeProof,
});
assert.equal(releaseReadinessWithCandidateArtifacts.promotionCandidateArtifactSummary.artifactRows.promotionCandidates, 27);
assert.equal(releaseReadinessWithCandidateArtifacts.promotionCandidateArtifactSummary.artifactRows.promotionCandidates, 10);
assert.equal(releaseReadinessWithCandidateArtifacts.promotionCandidateArtifactSummary.artifactRows.evidenceExpansion, 14);
assert.equal(
releaseReadinessWithCandidateArtifacts.promotionCandidateArtifactSummary.hardBlockRuntimeFamilyRows.length,
18,
1,
);
assert.equal(
releaseReadinessWithCandidateArtifacts.promotionCandidateArtifactSummary.hardBlockRuntimePromotionAllowedCount,
@@ -1774,7 +1774,7 @@ assert.deepEqual(
]),
[
["L4-USER-M-PROCESS", 1, 0, true],
["L4-PYTHON-REMAP", 17, 0, true],
["L4-PYTHON-REMAP", 0, 0, true],
],
);
assert.deepEqual(
@@ -1786,27 +1786,13 @@ assert.deepEqual(
blockReason,
nextProof,
promotionAllowed,
]),
]),
[
[
"L4-PYTHON-REMAP",
"axis/laser/raster_test.ngc",
"design_linuxcnc_python_runtime_boundary",
"python_runtime_owner_and_fixture",
false,
],
[
"L4-PYTHON-REMAP",
"axis/laser/vector_test.ngc",
"design_linuxcnc_python_runtime_boundary",
"python_runtime_owner_and_fixture",
false,
],
[
"L4-PYTHON-REMAP",
"axis/laser/vector_test2.ngc",
"design_linuxcnc_python_runtime_boundary",
"python_runtime_owner_and_fixture",
"L4-USER-M-PROCESS",
"axis/vismach/millturn/example.ngc",
"design_m128_m129_linuxcnc_state_boundary",
"kinstype_guard_and_ini_xyz_hal_pin_state",
false,
],
],
@@ -1978,17 +1964,17 @@ assert.deepEqual(releaseReadinessArtifactValidation, {
{
id: "promotion-candidate-layers",
label: "Promotion candidate layers",
value: "evidence-ready=8 inventory-ready=19",
value: "evidence-ready=8 inventory-ready=2",
},
{
id: "promotion-candidate-total",
label: "Promotion candidate total",
value: "27",
value: "10",
},
{
id: "promotion-candidate-artifact-rows",
label: "Promotion candidate artifact rows",
value: "27",
value: "10",
},
{
id: "evidence-expansion-candidates",
@@ -2177,7 +2163,7 @@ assert.equal(
}),
}),
).rows.find(({ id }) => id === "promotion-candidate-layers")?.value,
"evidence-ready=8 inventory-ready=19",
"evidence-ready=8 inventory-ready=2",
);
assert.equal(
createProjectReleaseReadinessArtifactUrlWorkflowSummaryViewModel(