Update wasm port validation state

This commit is contained in:
wangdequan
2026-07-10 03:22:55 -04:00
parent 49a8bad404
commit 2e922ad628
91 changed files with 3292 additions and 1488 deletions

View File

@@ -204,17 +204,17 @@ export const VIRTUAL_HAL_SIM_CONFIG_SOURCE_TARGETS = Object.freeze([
]);
export const VIRTUAL_HAL_SIM_CONFIG_INVENTORY_BASELINE = Object.freeze({
executed: 82,
passed: 82,
skipped: 77,
executed: 29,
passed: 29,
skipped: 130,
unexpectedFail: 0,
});
export const VIRTUAL_HAL_SIM_CONFIG_INVENTORY_ARTIFACT_HASHES = Object.freeze({
"wasm-port/build/wasm/sim-configs-inventory/boundary-summary.tsv":
"6cc15052cad03d04eff4506cd0a9d651cd45a2bd5da4d9f38633e9535826b9f3",
"7dd95e06b662cf26a02c94039675cbad9a0c836c8cab54878687f11736ddb2c6",
"wasm-port/build/wasm/sim-configs-inventory/ini-boundary-summary.tsv":
"17bff95b57c55ff4201a23c7286e733550e4df513470c66dd5f24329e7781a35",
"e6036e152b53c0091ee7da25e50a08122f77552abc53d9e6044c98e5abbd2313",
});
export const VIRTUAL_HAL_SIM_CONFIG_PROMOTION_CANDIDATES = Object.freeze([

View File

@@ -63,7 +63,11 @@ export async function createLinuxCncIniSdk(moduleOptions = {}) {
try {
const rc = mod._lcini_get_bool(pathPtr, sectionPtr, tagPtr, outPtr);
return rc === 0 ? mod.HEAP32[outPtr >> 2] !== 0 : null;
if (rc !== 0) {
return null;
}
const value = mod.HEAP32 ? mod.HEAP32[outPtr >> 2] : mod.getValue(outPtr, "i32");
return value !== 0;
} finally {
mod._free(pathPtr);
mod._free(sectionPtr);

View File

@@ -79,17 +79,17 @@ const REQUIRED_RELEASE_GATES = [
];
const DEFAULT_SIM_CONFIG_INVENTORY_BASELINE = {
executed: 82,
passed: 82,
skipped: 77,
executed: 29,
passed: 29,
skipped: 130,
unexpectedFail: 0,
};
const DEFAULT_SIM_CONFIG_INVENTORY_ARTIFACT_HASHES = {
"wasm-port/build/wasm/sim-configs-inventory/boundary-summary.tsv":
"6cc15052cad03d04eff4506cd0a9d651cd45a2bd5da4d9f38633e9535826b9f3",
"7dd95e06b662cf26a02c94039675cbad9a0c836c8cab54878687f11736ddb2c6",
"wasm-port/build/wasm/sim-configs-inventory/ini-boundary-summary.tsv":
"17bff95b57c55ff4201a23c7286e733550e4df513470c66dd5f24329e7781a35",
"e6036e152b53c0091ee7da25e50a08122f77552abc53d9e6044c98e5abbd2313",
};
function isBoundaryEvidenceBaselineFresh(boundaryEvidence = {}) {
@@ -194,7 +194,7 @@ function createPromotionCandidateArtifactSummary({
const evidenceExpansionFamilySummary = createEvidenceExpansionFamilySummaryText(evidenceExpansionReport);
const inventoryReadyCount = artifactInventoryReadyRows.length > 0
? artifactInventoryReadyRows.length
: 2;
: 19;
const evidenceExpansionCandidateCount = evidenceExpansionArtifactRows.length > 0
? evidenceExpansionArtifactRows.length
: 14;
@@ -324,7 +324,8 @@ function createToolDbProcessProofSummary(toolDbProcessProof = {}) {
const opfsPersistenceReady = proof.opfsPersistenceReady !== false;
const tblFallbackSufficient = proof.tblFallbackSufficient === true;
const promotionAllowed = proof.promotionAllowed === true;
const ready = wasmProtocolReady &&
const ready = nativeProtocolReady &&
wasmProtocolReady &&
browserProtocolReady &&
opfsPersistenceReady &&
tblFallbackSufficient === false &&
@@ -812,7 +813,7 @@ function isVirtualHalPromotionCandidateSummaryReady(summary) {
summaryObject.preferredIniPath === "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini" &&
summaryObject.preferredGcodePath === "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/on_abort.ngc" &&
summaryObject.explicitBrowserDiagnosticsCount === 8 &&
summaryObject.inventoryBaseline === "executed=82 passed=82 skipped=77 unexpected_fail=0" &&
summaryObject.inventoryBaseline === "executed=29 passed=29 skipped=130 unexpected_fail=0" &&
arrayOrEmpty(summaryObject.blockedCandidateIds).length === 0;
}
@@ -2510,7 +2511,7 @@ export function createProjectReleaseReadinessReport({
{
id: "tool-db-process-proof-detail",
label: "Tool DB process proof detail",
value: `wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`,
value: `native=${toolDbProcessProofSummary.nativeProtocolReady ? "ready" : "missing"} wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`,
},
{
id: "python-remap-runtime-proof",
@@ -2662,7 +2663,7 @@ export function createProjectReleaseReadinessSummaryViewModel(
id: "tool-db-process-proof-detail",
label: "Tool DB process proof detail",
value: toolDbProcessProofSummary.apiName
? `wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
? `native=${toolDbProcessProofSummary.nativeProtocolReady ? "ready" : "missing"} wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
: "missing",
},
{
@@ -2874,7 +2875,7 @@ export function createProjectReleaseReadinessArtifactValidationSummaryViewModel(
id: "tool-db-process-proof-detail",
label: "Tool DB process proof detail",
value: validation?.toolDbProcessProofReady === true
? `wasm=${validation.toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${validation.toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${validation.toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${validation.toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
? `native=${validation.toolDbProcessProofSummary.nativeProtocolReady ? "ready" : "missing"} wasm=${validation.toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${validation.toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${validation.toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${validation.toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
: "missing",
},
{
@@ -3626,7 +3627,7 @@ export function createProjectReleaseReadinessArtifactUrlWorkflowSummaryViewModel
id: "tool-db-process-proof-detail",
label: "Tool DB process proof detail",
value: toolDbProcessProofReady
? `wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
? `native=${toolDbProcessProofSummary.nativeProtocolReady ? "ready" : "missing"} wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
: "not provided",
},
{
@@ -3961,6 +3962,7 @@ export function createProjectReleaseReadinessArtifactValidation(artifact = {}) {
toolDbProcessProofSummary.boundaryClass === "L4-TOOL-DB" &&
toolDbProcessProofSummary.path === "axis/db_demo/base.ngc" &&
toolDbProcessProofSummary.dbProgramPath === "./db_nonran.py" &&
toolDbProcessProofSummary.nativeProtocolReady === true &&
toolDbProcessProofSummary.wasmProtocolReady === true &&
toolDbProcessProofSummary.browserProtocolReady === true &&
toolDbProcessProofSummary.opfsPersistenceReady === true &&
@@ -4236,7 +4238,7 @@ export function createProjectReleaseReadinessArtifactValidation(artifact = {}) {
id: "tool-db-process-proof-detail",
label: "Tool DB process proof detail",
value: toolDbProcessProofReady
? `wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
? `native=${toolDbProcessProofSummary.nativeProtocolReady ? "ready" : "missing"} wasm=${toolDbProcessProofSummary.wasmProtocolReady ? "ready" : "missing"} browser=${toolDbProcessProofSummary.browserProtocolReady ? "ready" : "missing"} opfs=${toolDbProcessProofSummary.opfsPersistenceReady ? "ready" : "missing"} promotion_allowed=${toolDbProcessProofSummary.promotionAllowed ? "1" : "0"}`
: "missing",
},
{