按text32继续推进evidence expansion过滤预设
结论:已完成 evidence expansion family/source filter 的 summary/action-plan、query/hash 预选、UI/API/SDK/浏览器验证覆盖,并保持 sim-config inventory baseline=82/82/77/0。
This commit is contained in:
@@ -302,11 +302,11 @@ assert.equal(
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-full-candidate-list")?.value,
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins",
|
||||
"woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-full-gcode-list")?.value,
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
|
||||
"linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
|
||||
);
|
||||
assert.equal(
|
||||
readySummary.rows.find(({ id }) => id === "evidence-expansion-artifact")?.value,
|
||||
@@ -388,8 +388,14 @@ assert.deepEqual(
|
||||
["evidence-expansion-candidate-list", "woodpecker-on-abort, puma-cube, melfa-example"],
|
||||
["evidence-expansion-gcode-list", "linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc"],
|
||||
["evidence-expansion-source-count-list", "3, 3, 3"],
|
||||
["evidence-expansion-full-candidate-list", "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins"],
|
||||
["evidence-expansion-full-gcode-list", "linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc"],
|
||||
["evidence-expansion-full-candidate-list", "woodpecker-on-abort, puma-cube, melfa-example, trt-boat-xyzac, trt-xyzac-switchkins, trt-boat-xyzbc, trt-impeller-7bl-xyzac, trt-xyzac-switchkins-test-1, trt-xyzac-switchkins-test-2, trt-xyzac-switchkins-test-3, trt-xyzbc-switchkins"],
|
||||
["evidence-expansion-full-gcode-list", "linuxcnc/configs/sim/woodpecker/on_abort.ngc, linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc, linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc, linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"],
|
||||
["evidence-expansion-family-count", "3 families"],
|
||||
["evidence-expansion-family-summary", "woodpecker: 1/1 ready; vismach-remap-sims: 2/2 ready; five-axis-trt: 8/8 ready"],
|
||||
["evidence-expansion-family-source-count-list", "woodpecker:3, vismach-remap-sims:6, five-axis-trt:12"],
|
||||
["evidence-expansion-family-woodpecker", "1/1 ready; sources=3; diagnostics=ready"],
|
||||
["evidence-expansion-family-vismach-remap-sims", "2/2 ready; sources=6; diagnostics=ready"],
|
||||
["evidence-expansion-family-five-axis-trt", "8/8 ready; sources=12; diagnostics=ready"],
|
||||
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
["hard-block-runtime-locked-rows", "1"],
|
||||
|
||||
@@ -563,6 +563,9 @@ assert.deepEqual(
|
||||
["evidence-expansion-source-count-list", "not provided"],
|
||||
["evidence-expansion-full-candidate-list", "not provided"],
|
||||
["evidence-expansion-full-gcode-list", "not provided"],
|
||||
["evidence-expansion-family-count", "not provided"],
|
||||
["evidence-expansion-family-summary", "not provided"],
|
||||
["evidence-expansion-family-source-count-list", "not provided"],
|
||||
["evidence-expansion-artifact", "wasm-port/build/wasm/sim-configs-inventory/evidence-expansion-candidates.tsv"],
|
||||
["promotion-candidate-allowed", "0"],
|
||||
["hard-block-runtime-locked-rows", "0"],
|
||||
|
||||
@@ -154,6 +154,17 @@ import {
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan,
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan,
|
||||
handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange,
|
||||
bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls,
|
||||
renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness,
|
||||
@@ -299,6 +310,9 @@ const expectedPromotionCandidateArtifactSummary = {
|
||||
promotionAllowedCount: 0,
|
||||
baselineChanging: false,
|
||||
nextEvidence: "browser-diagnostics-binding",
|
||||
familyCount: 0,
|
||||
familySummary: "not provided",
|
||||
familyRows: [],
|
||||
},
|
||||
};
|
||||
const hasFreshBoundaryArtifactHashes = (boundaryEvidence) =>
|
||||
@@ -580,6 +594,50 @@ const requiredExports = [
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilyRowsRenderState,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterViewModel,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomContract,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterDomReadiness,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSummary,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterActionPlan,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan",
|
||||
createIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionActionPlan,
|
||||
],
|
||||
[
|
||||
"handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange",
|
||||
handleIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionChange,
|
||||
],
|
||||
[
|
||||
"bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls",
|
||||
bindIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterSelectionControls,
|
||||
],
|
||||
[
|
||||
"renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
renderIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
],
|
||||
[
|
||||
"mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState",
|
||||
mountIniPanelShellWorkflowOverviewEvidenceExpansionFamilySourceFilterState,
|
||||
],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
|
||||
@@ -1084,7 +1142,7 @@ assert.equal(virtualHalRuntime.getSimConfigPromotionCandidateReport({
|
||||
simConfigSourceCoverage: simConfigSourceCoverageReport,
|
||||
motionControllerMatrix: manifestCheckedMotionControllerMatrixReport,
|
||||
}).complete, true);
|
||||
assert.equal(VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.length, 5);
|
||||
assert.equal(VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.length, 11);
|
||||
const simConfigEvidenceExpansionReport = createVirtualHalSimConfigEvidenceExpansionReport({
|
||||
manifestText: sourceManifestText,
|
||||
simConfigSourceCoverage: simConfigSourceCoverageReport,
|
||||
@@ -1098,8 +1156,22 @@ assert.equal(simConfigEvidenceExpansionReport.complete, true);
|
||||
assert.equal(simConfigEvidenceExpansionReport.webSimulationSatisfied, true);
|
||||
assert.equal(simConfigEvidenceExpansionReport.inventoryBaselineUnchanged, true);
|
||||
assert.equal(simConfigEvidenceExpansionReport.promotionAllowed, false);
|
||||
assert.equal(simConfigEvidenceExpansionReport.candidateCount, 5);
|
||||
assert.equal(simConfigEvidenceExpansionReport.readyCandidateCount, 5);
|
||||
assert.equal(simConfigEvidenceExpansionReport.candidateCount, 11);
|
||||
assert.equal(simConfigEvidenceExpansionReport.readyCandidateCount, 11);
|
||||
assert.deepEqual(
|
||||
simConfigEvidenceExpansionReport.familyRows.map(({ id, candidateCount, completeCount, sourceFileCount, complete }) => [
|
||||
id,
|
||||
candidateCount,
|
||||
completeCount,
|
||||
sourceFileCount,
|
||||
complete,
|
||||
]),
|
||||
[
|
||||
["woodpecker", 1, 1, 3, true],
|
||||
["vismach-remap-sims", 2, 2, 6, true],
|
||||
["five-axis-trt", 8, 8, 12, true],
|
||||
],
|
||||
);
|
||||
assert.equal(simConfigEvidenceExpansionReport.promotionAllowedViolations.length, 0);
|
||||
assert.equal(
|
||||
simConfigEvidenceExpansionReport.rows.some((row) =>
|
||||
@@ -1135,6 +1207,25 @@ assert.equal(
|
||||
),
|
||||
true,
|
||||
);
|
||||
for (const [id, gcodePath] of [
|
||||
["trt-boat-xyzbc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc"],
|
||||
["trt-impeller-7bl-xyzac", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc"],
|
||||
["trt-xyzac-switchkins-test-1", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc"],
|
||||
["trt-xyzac-switchkins-test-2", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc"],
|
||||
["trt-xyzac-switchkins-test-3", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc"],
|
||||
["trt-xyzbc-switchkins", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"],
|
||||
]) {
|
||||
assert.equal(
|
||||
simConfigEvidenceExpansionReport.rows.some((row) =>
|
||||
row.id === id &&
|
||||
row.currentMatrixBrowserStatus === "REP" &&
|
||||
row.targetBrowserEvidence === "browser-diagnostics-expansion" &&
|
||||
row.promotionAllowed === false &&
|
||||
row.sourceFiles.includes(gcodePath)
|
||||
),
|
||||
true,
|
||||
);
|
||||
}
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user