From 57501ba0f299ab97a687de1311b660dd14e3b52e Mon Sep 17 00:00:00 2001 From: wangdequan Date: Thu, 18 Jun 2026 19:46:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AA=8C=E8=AF=81promotion=E8=AF=81=E6=8D=AE?= =?UTF-8?q?=E6=B5=8F=E8=A7=88=E5=99=A8=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 结论:browser workflow overview smoke 现在验证8条evidence-ready drilldown DOM、PUMA family/path/source count,以及完整evidence expansion diagnostics artifact;baseline保持28/28/131/0,hard block不解锁。 --- .../ini_panel_workflow_overview_smoke.html | 89 +++++++++++++++---- 1 file changed, 71 insertions(+), 18 deletions(-) diff --git a/wasm-port/tests/browser/ini_panel_workflow_overview_smoke.html b/wasm-port/tests/browser/ini_panel_workflow_overview_smoke.html index d1a6140..eb54271 100644 --- a/wasm-port/tests/browser/ini_panel_workflow_overview_smoke.html +++ b/wasm-port/tests/browser/ini_panel_workflow_overview_smoke.html @@ -12,6 +12,7 @@ createVirtualHalCommandScriptFixtureReport, createVirtualHalMotionControllerMatrixReport, createVirtualHalSimConfigMacroLoadFixtureReport, + createVirtualHalSimConfigEvidenceExpansionReport, createVirtualHalSimConfigPromotionCandidateReport, createVirtualHalSimConfigSourceCoverageReport, createVirtualHalSimulationReplacementReport, @@ -95,6 +96,12 @@ !workflowApi?.getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness || !workflowApi?.renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState || !workflowApi?.mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState || + !workflowApi?.getWorkflowOverviewPromotionCandidateDrilldownViewModel || + !workflowApi?.getWorkflowOverviewPromotionCandidateDrilldownRenderState || + !workflowApi?.getWorkflowOverviewPromotionCandidateDrilldownDomContract || + !workflowApi?.getWorkflowOverviewPromotionCandidateDrilldownDomReadiness || + !workflowApi?.renderWorkflowOverviewPromotionCandidateDrilldownState || + !workflowApi?.mountWorkflowOverviewPromotionCandidateDrilldownState || !workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel || !workflowApi?.getWorkflowOverviewReleaseReadinessArtifactRenderState || !workflowApi?.getWorkflowOverviewReleaseReadinessArtifactDomContract || @@ -368,6 +375,29 @@ renderState: releaseArtifactJsonWorkflowRenderState, }); const diagnosticsVirtualHalState = createVirtualHalState(); + const diagnosticsMotionControllerMatrix = createVirtualHalMotionControllerMatrixReport({ + manifestEntries: VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES, + }); + const diagnosticsPromotionCandidates = createVirtualHalSimConfigPromotionCandidateReport({ + manifestEntries: [ + ...VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES, + "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini", + "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/on_abort.ngc", + "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini", + "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/on_abort.ngc", + "linuxcnc/configs/sim/axis/vismach/puma/puma_seam_weld.ngc", + "linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini", + "linuxcnc/configs/sim/axis/rose_engine/rcone_demo.ngc", + ], + motionControllerMatrix: diagnosticsMotionControllerMatrix, + }); + const diagnosticsEvidenceExpansion = createVirtualHalSimConfigEvidenceExpansionReport({ + manifestEntries: [ + ...VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES, + "linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini", + ], + motionControllerMatrix: diagnosticsMotionControllerMatrix, + }); const diagnosticsArtifact = { apiName: "real-browser-simulation-diagnostics-artifact", artifactVersion: 1, @@ -375,21 +405,8 @@ virtualHalSimulationReplacement: createVirtualHalSimulationReplacementReport(diagnosticsVirtualHalState), virtualHalSourceCompliance: createVirtualHalSourceComplianceReport({ halState: diagnosticsVirtualHalState }), virtualHalSimConfigSourceCoverage: createVirtualHalSimConfigSourceCoverageReport(), - virtualHalSimConfigPromotionCandidates: createVirtualHalSimConfigPromotionCandidateReport({ - manifestEntries: [ - ...VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES, - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini", - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/on_abort.ngc", - "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini", - "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/on_abort.ngc", - "linuxcnc/configs/sim/axis/vismach/puma/puma_seam_weld.ngc", - "linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini", - "linuxcnc/configs/sim/axis/rose_engine/rcone_demo.ngc", - ], - motionControllerMatrix: createVirtualHalMotionControllerMatrixReport({ - manifestEntries: VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES, - }), - }), + virtualHalSimConfigPromotionCandidates: diagnosticsPromotionCandidates, + virtualHalSimConfigEvidenceExpansion: diagnosticsEvidenceExpansion, virtualHalPromotionCandidateSummary: { apiName: "real-browser-simulation-promotion-candidate-summary", summaryVersion: 1, @@ -417,9 +434,7 @@ ], }), virtualHalCommandScriptFixtures: createVirtualHalCommandScriptFixtureReport({ halState: diagnosticsVirtualHalState }), - virtualHalMotionControllerMatrix: createVirtualHalMotionControllerMatrixReport({ - manifestEntries: VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES, - }), + virtualHalMotionControllerMatrix: diagnosticsMotionControllerMatrix, }; const diagnosticsSessionNestedArtifact = { ...diagnosticsArtifact }; diagnosticsArtifact.virtualHalSessionDiagnostics = { @@ -831,6 +846,44 @@ "17 source files", "workflow overview fixed URL workflow form source file count row", ); + assertEqual( + workflowDoc.querySelector("[data-workflow-overview-promotion-candidate-drilldown]").dataset.handoffReady, + "true", + "workflow overview promotion candidate drilldown ready dataset", + ); + assertEqual( + workflowDoc.querySelector("[data-workflow-overview-promotion-candidate-drilldown]").dataset.candidateId, + "qtdragon-multi-joint-on-abort", + "workflow overview promotion candidate drilldown candidate dataset", + ); + assertEqual( + workflowDoc.querySelectorAll( + '[data-workflow-overview-promotion-candidate-drilldown-evidence-ready="true"]', + ).length, + 16, + "workflow overview promotion candidate drilldown evidence-ready DOM nodes", + ); + assertEqual( + workflowDoc.querySelector( + '[data-workflow-overview-promotion-candidate-drilldown-value="evidence-7"]', + )?.textContent, + "linuxcnc/configs/sim/axis/vismach/puma/puma_seam_weld.ngc", + "workflow overview promotion candidate drilldown PUMA evidence row", + ); + assertEqual( + workflowDoc.querySelector( + '[data-workflow-overview-promotion-candidate-drilldown-value="evidence-7"]', + )?.dataset.workflowOverviewPromotionCandidateDrilldownFamilyId, + "vismach-remap-sims", + "workflow overview promotion candidate drilldown PUMA family", + ); + assertEqual( + workflowDoc.querySelector( + '[data-workflow-overview-promotion-candidate-drilldown-value="evidence-7"]', + )?.dataset.workflowOverviewPromotionCandidateDrilldownSourceFileCount, + "3", + "workflow overview promotion candidate drilldown PUMA source count", + ); assertEqual( workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-action-plan-value="next-command"]').textContent, "none",