验证promotion证据浏览器展示

结论: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不解锁。
This commit is contained in:
2026-06-18 19:46:31 +08:00
parent 31c83db696
commit 57501ba0f2

View File

@@ -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",