按接续文件text31持续推进

结论:已将五轴TRT的boat-xyzac与xyzac_switchkins加入browser diagnostics evidence expansion,candidateCount提升到5且全部ready;inventory baseline继续保持82/82/77/0,promotionAllowed仍为false。
This commit is contained in:
2026-06-20 08:16:29 +08:00
parent c2e07518d3
commit fab42a8bdb
10 changed files with 292 additions and 9 deletions

View File

@@ -9,7 +9,7 @@ turn-by-turn continuation notes and next-batch execution records.
## Current Status
- Active continuation file: `text32.txt`
- Latest completed batch: remaining 77 SKIP promotion audit
- Latest completed batch: five-axis TRT browser diagnostics evidence expansion
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
- Working tree at tracker creation: clean
- Required policy: LinuxCNC remains the only CNC semantic source
@@ -45,7 +45,7 @@ The project is complete for the current scope when all of the following are true
| Simulation test program library | Active | Built-in browser simulation programs live in `wasm-port/runtime/ui/simulation/programs/`, one module per program, exported through `programs/index.js`; `verify_real_simulation_programs.sh` checks directory-backed inventory, IDs, defaults, and playback contracts. |
| Vendor/source guard | Stable | `verify_vendor_sync.sh` and standalone semantic guard are required every batch. |
| Interpreter WASM smoke | Stable | `interp_wasm_node_smoke=ok`. |
| Sim config inventory | Stable with skips | `executed=82`, `passed=82`, `skipped=77`, `unexpected_fail=0`; `docs/sim-configs-coverage-handoff.md` records the release-gate baseline. The 2026-06-20 remaining-skip audit found 2 skipped main-program rows and 0 rows with `promotion_allowed=1`, so the baseline must not change without new LinuxCNC-owned native/Node/browser proof. |
| Sim config inventory | Stable with skips | `executed=82`, `passed=82`, `skipped=77`, `unexpected_fail=0`; `docs/sim-configs-coverage-handoff.md` records the release-gate baseline. The 2026-06-20 remaining-skip audit found 2 skipped main-program rows and 0 rows with `promotion_allowed=1`, so the baseline must not change without new LinuxCNC-owned native/Node/browser proof. Browser diagnostics evidence expansion now includes five ready source-derived REP candidates: `woodpecker-on-abort`, `puma-cube`, `melfa-example`, `trt-boat-xyzac`, and `trt-xyzac-switchkins`, all with `promotionAllowed=false`. |
| Native nc_files baseline | Stable | Last recorded Layer 1: `total 107`, `pass 101`, `expected_fail 6`, `unexpected_fail 0`. |
| Native sim configs baseline | Stable | Last recorded Layer 2: `total 159`, `pass 151`, `expected_fail 8`, `unexpected_fail 0`. |
| OPFS/session persistence | Stable for current scope | Browser smoke passes, SDK re-exports OPFS/session helpers including `readMachineSessionReadiness()` and `createMachineSessionPersistenceSummary()`, the UI exposes `getMachineSessionPersistenceSummary()`, and `docs/opfs-session-persistence.md` defines the project-level release gate. |

View File

@@ -148,3 +148,134 @@ wasm-port/tests/sdk/node/verify_sdk_surface.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
```
六、本轮接续推进:五轴 TRT browser diagnostics evidence expansion
执行时间2026-06-20 CST
已按上面的下一步计划推进,不改 inventory baseline不把 77 个 SKIP
强行 promotion。
新增 browser diagnostics evidence expansion 候选:
```text
trt-boat-xyzac
gcode=linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc
ini=linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini
remap_subs=428remap.ngc,429remap.ngc,430remap.ngc
currentNodeInventoryStatus=PASS
currentMatrixBrowserStatus=REP
targetBrowserEvidence=browser-diagnostics-expansion
promotionAllowed=false
trt-xyzac-switchkins
gcode=linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc
ini=linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini
remap_subs=428remap.ngc,429remap.ngc,430remap.ngc
currentNodeInventoryStatus=PASS
currentMatrixBrowserStatus=REP
targetBrowserEvidence=browser-diagnostics-expansion
promotionAllowed=false
```
当前 evidence expansion report
```text
candidateCount=5
readyCandidateCount=5
inventoryBaselineUnchanged=true
promotionAllowed=false
```
覆盖面:
```text
woodpecker-on-abort
puma-cube
melfa-example
trt-boat-xyzac
trt-xyzac-switchkins
```
已更新:
```text
PROJECT_COMPLETION_TRACKER.md
wasm-port/runtime/sdk/src/linuxcnc-hal.js
wasm-port/runtime/sdk/src/project-release-readiness.js
wasm-port/runtime/ui/simulation diagnostics artifact smoke
wasm-port/tests/browser/ini_panel_workflow_overview_smoke.html
wasm-port/tests/browser/real_simulation_page_smoke.html
wasm-port/tests/docs/node/verify_sim_configs_coverage_docs.mjs
wasm-port/tests/sdk/node/verify_sdk_surface.mjs
wasm-port/tests/ui/node/verify_ini_panel_ui_shell.mjs
wasm-port/docs/sim-config-coverage-promotion-analysis.md
```
已运行验证:
```text
git diff --check
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/sdk/node/verify_project_release_artifact_url_workflow.sh
wasm-port/tests/sdk/node/verify_project_release_gate_manifest.sh
wasm-port/tests/ui/node/verify_ini_panel_ui_shell.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_release_artifact_url_workflow_browser.sh
wasm-port/tests/docs/node/verify_sim_configs_coverage_docs.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
```
结果:
```text
sdk_surface_node_smoke=ok
project_release_gate_manifest_node_smoke=ok
project_release_artifact_url_workflow_node_smoke=ok
project_batch_acceptance_workflow_node_smoke=ok
ini_panel_ui_shell_node_smoke=ok
browser_real_simulation_page_smoke=ok
browser_ini_opfs_smoke=ok
browser_ini_control_page_smoke=ok
browser_ini_launch_smoke=ok
browser_ini_workflow_overview_smoke=ok
browser_ini_shell_integration_workflow_smoke=ok
browser_release_artifact_url_workflow_smoke=ok
sim_configs_coverage_docs_node_smoke=ok
sim_configs_wasm_node_inventory=ok
standalone CNC semantics guard complete
```
七、下一步工作计划
继续沿 browser diagnostics / release evidence 方向推进,不改变
`82/82/77/0` inventory baseline。
优先建议:
```text
1. 把 evidence expansion 从“候选 report/API/smoke”推进到更可见的 UI
surface
- real simulation diagnostics panel 显示 evidence expansion ready count
- INI workflow overview URL summary 显示 5 个 ready candidates 的完整列表
或 drilldown
- 保持 summary preview 的前三项兼容现有 UI。
2. 继续扩展五轴 TRT family 的 browser diagnostics evidence
- boat-xyzbc.ngc
- impeller-7bl-xyzac.ngc
- xyzac_switchkins_test_1.ngc
- xyzac_switchkins_test_2.ngc
- xyzac_switchkins_test_3.ngc
- xyzbc_switchkins.ngc
3. 每新增一批都必须满足:
- currentNodeInventoryStatus=PASS
- currentMatrixBrowserStatus=REP
- targetBrowserEvidence=browser-diagnostics-expansion
- promotionAllowed=false
- inventoryBaselineUnchanged=true
- real browser diagnostics artifact smoke 覆盖。
```

View File

@@ -693,6 +693,41 @@ surfaces. They do not add virtual HAL runtime capability, do not alter
`promotion-candidates.tsv`, and do not change the inventory baseline or any
hard-block lock.
## 2026-06-20 Five-Axis TRT Evidence Expansion
After the remaining 77 SKIP audit confirmed there are no directly promotable
skipped main-program rows, the next evidence batch expanded browser diagnostics
coverage for already passing representative rows instead of changing the
inventory baseline.
The virtual HAL sim-config evidence expansion report now requires these
five-axis TRT rows:
```text
trt-boat-xyzac
linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc
trt-xyzac-switchkins
linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc
```
Both rows use the LinuxCNC-owned `xyzac-trt.ini` machine context and the
vendored `428remap.ngc`, `429remap.ngc`, and `430remap.ngc` remap
subroutines. They remain:
```text
currentNodeInventoryStatus=PASS
currentMatrixBrowserStatus=REP
targetBrowserEvidence=browser-diagnostics-expansion
promotionAllowed=false
inventoryBaselineUnchanged=true
```
The real browser simulation diagnostics artifact now validates that the
evidence expansion report has `candidateCount=5` and `readyCandidateCount=5`,
including the two TRT rows above. The inventory baseline remains
`executed=82 passed=82 skipped=77 unexpected_fail=0`.
## Boundary Statement
This analysis relies on the improved virtual HAL only for Web simulation

View File

@@ -471,6 +471,48 @@ export const VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES = Object.freez
blockedKind: "-",
evidence: "MELFA example has current representative coverage and can receive explicit browser diagnostics evidence without unlocking any hard runtime family.",
}),
Object.freeze({
id: "trt-boat-xyzac",
label: "TRT boat XYZAC",
simConfigTarget: "five-axis-trt",
sourceFiles: Object.freeze([
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc",
]),
iniPath: "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
gcodePath: "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
currentNodeInventoryStatus: "PASS",
currentMatrixBrowserStatus: "REP",
dependencyClass: "hal_process,halui_mdi_process,ui_process",
targetBrowserEvidence: "browser-diagnostics-expansion",
promotionAllowed: false,
blockedKind: "-",
evidence: "The LinuxCNC table-rotary-tilting boat XYZAC demo is already covered as a five-axis representative; this row adds explicit browser diagnostics evidence without changing inventory counts.",
}),
Object.freeze({
id: "trt-xyzac-switchkins",
label: "TRT XYZAC switchkins",
simConfigTarget: "five-axis-trt",
sourceFiles: Object.freeze([
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc",
]),
iniPath: "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
gcodePath: "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
currentNodeInventoryStatus: "PASS",
currentMatrixBrowserStatus: "REP",
dependencyClass: "hal_process,halui_mdi_process,ui_process",
targetBrowserEvidence: "browser-diagnostics-expansion",
promotionAllowed: false,
blockedKind: "-",
evidence: "The LinuxCNC table-rotary-tilting XYZAC switchkins demo is already a browser representative row; this evidence expansion binds it into release diagnostics only.",
}),
]);
export const VIRTUAL_HAL_SIM_CONFIG_MACRO_LOAD_FIXTURES = Object.freeze([

View File

@@ -462,6 +462,26 @@ const REQUIRED_EVIDENCE_EXPANSION_CANDIDATES = [
"linuxcnc/configs/sim/axis/vismach/melfa-sim/remap_subs/428remap.ngc",
],
},
{
id: "trt-boat-xyzac",
sourceFiles: [
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc",
],
},
{
id: "trt-xyzac-switchkins",
sourceFiles: [
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc",
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc",
],
},
];
const REQUIRED_MACRO_LOAD_FIXTURES = [
@@ -664,8 +684,8 @@ function isVirtualHalSimConfigEvidenceExpansionReportReady(report) {
expansionReport.webSimulationSatisfied === true &&
expansionReport.inventoryBaselineUnchanged === true &&
expansionReport.promotionAllowed === false &&
expansionReport.candidateCount === 3 &&
expansionReport.readyCandidateCount === 3 &&
expansionReport.candidateCount === REQUIRED_EVIDENCE_EXPANSION_CANDIDATES.length &&
expansionReport.readyCandidateCount === REQUIRED_EVIDENCE_EXPANSION_CANDIDATES.length &&
arrayOrEmpty(expansionReport.missingCandidates).length === 0 &&
arrayOrEmpty(expansionReport.promotionAllowedViolations).length === 0 &&
arrayOrEmpty(expansionReport.blockedCandidateIds).length === 0 &&

View File

@@ -9,6 +9,7 @@
<script type="module">
import {
VIRTUAL_HAL_SIM_CONFIG_SOURCE_TARGETS,
VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES,
createVirtualHalCommandScriptFixtureReport,
createVirtualHalMillturnUserMProcessBoundaryReport,
createVirtualHalMotionControllerMatrixReport,
@@ -23,6 +24,8 @@
const VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES =
VIRTUAL_HAL_SIM_CONFIG_SOURCE_TARGETS.flatMap((target) => target.sourceFiles ?? []);
const VIRTUAL_HAL_EVIDENCE_EXPANSION_MANIFEST_ENTRIES =
VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.flatMap((candidate) => candidate.sourceFiles ?? []);
function assertEqual(actual, expected, label) {
if (actual !== expected) {
@@ -395,7 +398,7 @@
const diagnosticsEvidenceExpansion = createVirtualHalSimConfigEvidenceExpansionReport({
manifestEntries: [
...VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES,
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini",
...VIRTUAL_HAL_EVIDENCE_EXPANSION_MANIFEST_ENTRIES,
],
motionControllerMatrix: diagnosticsMotionControllerMatrix,
});

View File

@@ -668,6 +668,26 @@
!diagnosticsArtifact.virtualHalSimConfigSourceCoverage?.sourceFiles?.includes("linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini") ||
!diagnosticsArtifact.virtualHalSimConfigSourceCoverage?.sourceFiles?.includes("linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini") ||
diagnosticsArtifact.virtualHalSimConfigPromotionCandidates?.complete !== true ||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.complete !== true ||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.candidateCount !== 5 ||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.readyCandidateCount !== 5 ||
diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.promotionAllowed !== false ||
!diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.rows?.some((row) =>
row.id === "trt-boat-xyzac" &&
row.currentNodeInventoryStatus === "PASS" &&
row.currentMatrixBrowserStatus === "REP" &&
row.targetBrowserEvidence === "browser-diagnostics-expansion" &&
row.promotionAllowed === false &&
row.sourceFiles?.includes("linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc")
) ||
!diagnosticsArtifact.virtualHalSimConfigEvidenceExpansion?.rows?.some((row) =>
row.id === "trt-xyzac-switchkins" &&
row.currentNodeInventoryStatus === "PASS" &&
row.currentMatrixBrowserStatus === "REP" &&
row.targetBrowserEvidence === "browser-diagnostics-expansion" &&
row.promotionAllowed === false &&
row.sourceFiles?.includes("linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc")
) ||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.ready !== true ||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.preferredCandidateId !== "qtdragon-multi-joint-on-abort" ||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.candidateCount !== 8 ||

View File

@@ -71,10 +71,15 @@ for (const phrase of [
"axis/external_offsets/queuebuster.ngc",
"Web Simulation Improvements From Virtual HAL",
"2026-06-20 Remaining Skip Promotion Audit",
"2026-06-20 Five-Axis TRT Evidence Expansion",
"remaining_skipped_main_program_promotion_allowed=0",
"direct_inventory_promotion_rows=0",
"axis/vismach/millturn/example.ngc",
"incremental_repetition_g533.ngc",
"trt-boat-xyzac",
"trt-xyzac-switchkins",
"candidateCount=5",
"readyCandidateCount=5",
"Browser and Node simulation no longer need host `halcmd`, `halrun`, or a",
"servo-period stepping",
"8 diagnostics-ready candidates across 3 families and 17 source files",

View File

@@ -1084,7 +1084,7 @@ assert.equal(virtualHalRuntime.getSimConfigPromotionCandidateReport({
simConfigSourceCoverage: simConfigSourceCoverageReport,
motionControllerMatrix: manifestCheckedMotionControllerMatrixReport,
}).complete, true);
assert.equal(VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.length, 3);
assert.equal(VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.length, 5);
const simConfigEvidenceExpansionReport = createVirtualHalSimConfigEvidenceExpansionReport({
manifestText: sourceManifestText,
simConfigSourceCoverage: simConfigSourceCoverageReport,
@@ -1098,8 +1098,8 @@ assert.equal(simConfigEvidenceExpansionReport.complete, true);
assert.equal(simConfigEvidenceExpansionReport.webSimulationSatisfied, true);
assert.equal(simConfigEvidenceExpansionReport.inventoryBaselineUnchanged, true);
assert.equal(simConfigEvidenceExpansionReport.promotionAllowed, false);
assert.equal(simConfigEvidenceExpansionReport.candidateCount, 3);
assert.equal(simConfigEvidenceExpansionReport.readyCandidateCount, 3);
assert.equal(simConfigEvidenceExpansionReport.candidateCount, 5);
assert.equal(simConfigEvidenceExpansionReport.readyCandidateCount, 5);
assert.equal(simConfigEvidenceExpansionReport.promotionAllowedViolations.length, 0);
assert.equal(
simConfigEvidenceExpansionReport.rows.some((row) =>
@@ -1111,6 +1111,30 @@ assert.equal(
),
true,
);
assert.equal(
simConfigEvidenceExpansionReport.rows.some((row) =>
row.id === "trt-boat-xyzac" &&
row.currentMatrixBrowserStatus === "REP" &&
row.targetBrowserEvidence === "browser-diagnostics-expansion" &&
row.promotionAllowed === false &&
row.sourceFiles.includes(
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
)
),
true,
);
assert.equal(
simConfigEvidenceExpansionReport.rows.some((row) =>
row.id === "trt-xyzac-switchkins" &&
row.currentMatrixBrowserStatus === "REP" &&
row.targetBrowserEvidence === "browser-diagnostics-expansion" &&
row.promotionAllowed === false &&
row.sourceFiles.includes(
"linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
)
),
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);

View File

@@ -9,6 +9,7 @@ import {
createProjectReleaseReadinessReport,
} from "../../../runtime/sdk/src/project-release-readiness.js";
import {
VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES,
VIRTUAL_HAL_SIM_CONFIG_SOURCE_TARGETS,
createVirtualHalCommandScriptFixtureReport,
createVirtualHalMillturnUserMProcessBoundaryReport,
@@ -164,6 +165,8 @@ import {
const VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES =
VIRTUAL_HAL_SIM_CONFIG_SOURCE_TARGETS.flatMap((target) => target.sourceFiles ?? []);
const VIRTUAL_HAL_EVIDENCE_EXPANSION_MANIFEST_ENTRIES =
VIRTUAL_HAL_SIM_CONFIG_EVIDENCE_EXPANSION_CANDIDATES.flatMap((candidate) => candidate.sourceFiles ?? []);
const __dirname = dirname(fileURLToPath(import.meta.url));
const root = resolve(__dirname, "../../..");
@@ -1460,7 +1463,7 @@ const releaseReadinessPromotionCandidates = createVirtualHalSimConfigPromotionCa
const releaseReadinessEvidenceExpansion = createVirtualHalSimConfigEvidenceExpansionReport({
manifestEntries: [
...VIRTUAL_HAL_MOTION_MATRIX_MANIFEST_ENTRIES,
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini",
...VIRTUAL_HAL_EVIDENCE_EXPANSION_MANIFEST_ENTRIES,
],
motionControllerMatrix: releaseReadinessMotionControllerMatrix,
});