解锁L4-TOOL-DB主机运行环境

结论:已识别RIP版LinuxCNC主机运行时,Tool DB native protocol probe可通过,inventory baseline保持28/28/131/0且promotion继续锁定。
This commit is contained in:
2026-06-19 06:28:38 +08:00
parent f101932bf1
commit d9ac3770a7
18 changed files with 3041 additions and 184 deletions

View File

@@ -656,6 +656,170 @@
]
},
"virtualHalSimConfigPromotionCandidatesReady": true,
"virtualHalSimConfigEvidenceExpansion": {
"apiName": "linuxcnc-wasm-virtual-hal-sim-config-evidence-expansion-report",
"reportVersion": 1,
"source": "linuxcnc-configs-sim-source-derived-virtual-hal",
"phase": "ready",
"complete": true,
"webSimulationSatisfied": true,
"inventoryBaselineUnchanged": true,
"promotionAllowed": false,
"manifestChecked": true,
"candidateCount": 3,
"readyCandidateCount": 3,
"sourceFiles": [
"linuxcnc/configs/sim/woodpecker/woodpecker.ini",
"linuxcnc/configs/sim/woodpecker/on_abort.ngc",
"linuxcnc/configs/sim/woodpecker/tool.tbl",
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini",
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc",
"linuxcnc/configs/sim/axis/vismach/puma/remap_subs/428remap.ngc",
"linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini",
"linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
"linuxcnc/configs/sim/axis/vismach/melfa-sim/remap_subs/428remap.ngc"
],
"requiredVirtualHalReports": [
"source-compliance",
"sim-config-source-coverage",
"command-script-fixtures",
"manifest-backed-motion-matrix"
],
"availableVirtualHalReports": [
"source-compliance",
"sim-config-source-coverage",
"command-script-fixtures",
"manifest-backed-motion-matrix"
],
"missingCandidates": [],
"promotionAllowedViolations": [],
"blockedCandidateIds": [],
"missingManifestFiles": [],
"missingRequiredReports": [],
"rows": [
{
"id": "woodpecker-on-abort",
"label": "Woodpecker on-abort",
"source": "linuxcnc-configs-sim-source-derived-virtual-hal-evidence-expansion-candidate",
"simConfigTarget": "woodpecker",
"sourceFiles": [
"linuxcnc/configs/sim/woodpecker/woodpecker.ini",
"linuxcnc/configs/sim/woodpecker/on_abort.ngc",
"linuxcnc/configs/sim/woodpecker/tool.tbl"
],
"iniPath": "linuxcnc/configs/sim/woodpecker/woodpecker.ini",
"gcodePath": "linuxcnc/configs/sim/woodpecker/on_abort.ngc",
"currentNodeInventoryStatus": "PASS",
"currentMatrixBrowserStatus": "REP",
"dependencyClass": "hal_process,ui_process",
"targetBrowserEvidence": "browser-diagnostics-expansion",
"requiredVirtualHalReports": [
"source-compliance",
"sim-config-source-coverage",
"command-script-fixtures",
"manifest-backed-motion-matrix"
],
"blockedKind": "-",
"promotionAllowed": false,
"nodeStatusReady": true,
"browserRepresentativeReady": true,
"manifestChecked": true,
"missingManifestFiles": [],
"missingRequiredReports": [],
"evidence": "Current inventory already covers Woodpecker as a non-hard-block representative; next step is explicit browser diagnostics binding only.",
"sourceReady": true,
"complete": true
},
{
"id": "puma-cube",
"label": "PUMA cube",
"source": "linuxcnc-configs-sim-source-derived-virtual-hal-evidence-expansion-candidate",
"simConfigTarget": "vismach-remap-sims",
"sourceFiles": [
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini",
"linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc",
"linuxcnc/configs/sim/axis/vismach/puma/remap_subs/428remap.ngc"
],
"iniPath": "linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini",
"gcodePath": "linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ngc",
"currentNodeInventoryStatus": "PASS",
"currentMatrixBrowserStatus": "REP",
"dependencyClass": "hal_process,halui_mdi_process,ui_process",
"targetBrowserEvidence": "browser-diagnostics-expansion",
"requiredVirtualHalReports": [
"source-compliance",
"sim-config-source-coverage",
"command-script-fixtures",
"manifest-backed-motion-matrix"
],
"blockedKind": "-",
"promotionAllowed": false,
"nodeStatusReady": true,
"browserRepresentativeReady": true,
"manifestChecked": true,
"missingManifestFiles": [],
"missingRequiredReports": [],
"evidence": "PUMA cube is already the representative browser row for the PUMA machine context; it remains an expansion candidate, not a baseline promotion.",
"sourceReady": true,
"complete": true
},
{
"id": "melfa-example",
"label": "MELFA example",
"source": "linuxcnc-configs-sim-source-derived-virtual-hal-evidence-expansion-candidate",
"simConfigTarget": "vismach-remap-sims",
"sourceFiles": [
"linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini",
"linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
"linuxcnc/configs/sim/axis/vismach/melfa-sim/remap_subs/428remap.ngc"
],
"iniPath": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini",
"gcodePath": "linuxcnc/configs/sim/axis/vismach/melfa-sim/example.ngc",
"currentNodeInventoryStatus": "PASS",
"currentMatrixBrowserStatus": "REP",
"dependencyClass": "hal_process,halui_mdi_process,ui_process",
"targetBrowserEvidence": "browser-diagnostics-expansion",
"requiredVirtualHalReports": [
"source-compliance",
"sim-config-source-coverage",
"command-script-fixtures",
"manifest-backed-motion-matrix"
],
"blockedKind": "-",
"promotionAllowed": false,
"nodeStatusReady": true,
"browserRepresentativeReady": true,
"manifestChecked": true,
"missingManifestFiles": [],
"missingRequiredReports": [],
"evidence": "MELFA example has current representative coverage and can receive explicit browser diagnostics evidence without unlocking any hard runtime family.",
"sourceReady": true,
"complete": true
}
],
"summaryRows": [
{
"id": "candidates",
"label": "Expansion candidates",
"value": "3"
},
{
"id": "ready-candidates",
"label": "Ready candidates",
"value": "3"
},
{
"id": "promotion-allowed",
"label": "Promotion allowed",
"value": "0"
},
{
"id": "inventory-baseline",
"label": "Inventory baseline",
"value": "unchanged"
}
]
},
"virtualHalPromotionFamilySummary": "qtdragon-on-abort: 6/6 ready; vismach-remap-sims: 1/1 ready; rose-engine-rcone-demo: 1/1 ready",
"virtualHalPromotionFamilyRows": [
{
@@ -726,7 +890,393 @@
"totalCandidateCount": 28,
"promotionAllowedCount": 0,
"hardBlockRuntimeLock": "locked (3 families)",
"hardBlockRuntimePromotionAllowedCount": 0,
"inventoryBaseline": "executed=28 passed=28 skipped=131 unexpected_fail=0",
"artifactRows": {
"promotionCandidates": 28,
"evidenceExpansion": 13
},
"hardBlockRuntimeFamilyRows": [
{
"candidateId": "axis/db_demo/base.ngc",
"path": "axis/db_demo/base.ngc",
"skipKind": "L4-TOOL-DB",
"promotionAllowed": false,
"blockReason": "design_tooldata_db_protocol_boundary",
"recommendedNextCommand": "db_program_v2_1_handshake_getall_load_unload_or_put",
"detailId": "hard-block-runtime-detail-1"
},
{
"candidateId": "axis/laser/raster_test.ngc",
"path": "axis/laser/raster_test.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-2"
},
{
"candidateId": "axis/laser/vector_test.ngc",
"path": "axis/laser/vector_test.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-3"
},
{
"candidateId": "axis/laser/vector_test2.ngc",
"path": "axis/laser/vector_test2.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-4"
},
{
"candidateId": "axis/remap/cycle/nc_files/examples.ngc",
"path": "axis/remap/cycle/nc_files/examples.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-5"
},
{
"candidateId": "axis/remap/extend-builtins/nc_files/examples.ngc",
"path": "axis/remap/extend-builtins/nc_files/examples.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-6"
},
{
"candidateId": "axis/remap/getting-started/nc_files/examples.ngc",
"path": "axis/remap/getting-started/nc_files/examples.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-7"
},
{
"candidateId": "axis/remap/manual-toolchange-with-tool-length-switch/nc_files/tcdemo.ngc",
"path": "axis/remap/manual-toolchange-with-tool-length-switch/nc_files/tcdemo.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-8"
},
{
"candidateId": "axis/remap/rack-toolchange/nc_files/tcdemo.ngc",
"path": "axis/remap/rack-toolchange/nc_files/tcdemo.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-9"
},
{
"candidateId": "axis/remap/stop-lookahead/nc_files/examples.ngc",
"path": "axis/remap/stop-lookahead/nc_files/examples.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-10"
},
{
"candidateId": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/circular_pocket.ngc",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/circular_pocket.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-11"
},
{
"candidateId": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_back_and_forth.ngc",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_back_and_forth.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-12"
},
{
"candidateId": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition.ngc",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-13"
},
{
"candidateId": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/simple_example.ngc",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/simple_example.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-14"
},
{
"candidateId": "axis/vismach/millturn/example.ngc",
"path": "axis/vismach/millturn/example.ngc",
"skipKind": "L4-USER-M-PROCESS",
"promotionAllowed": false,
"blockReason": "design_m128_m129_linuxcnc_state_boundary",
"recommendedNextCommand": "kinstype_guard_and_ini_xyz_hal_pin_state",
"detailId": "hard-block-runtime-detail-15"
},
{
"candidateId": "axis/vismach/VMC_toolchange/toolchange.ngc",
"path": "axis/vismach/VMC_toolchange/toolchange.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-16"
},
{
"candidateId": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzac.ngc",
"path": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzac.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-17"
},
{
"candidateId": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzbc.ngc",
"path": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzbc.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-18"
},
{
"candidateId": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/impeller-7bl-xyzac.ngc",
"path": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/impeller-7bl-xyzac.ngc",
"skipKind": "L4-PYTHON-REMAP",
"promotionAllowed": false,
"blockReason": "design_linuxcnc_python_runtime_boundary",
"recommendedNextCommand": "python_runtime_owner_and_fixture",
"detailId": "hard-block-runtime-detail-19"
}
],
"hardBlockRuntimeFamilyDetailRows": [
{
"id": "hard-block-runtime-detail-1",
"family": "L4-TOOL-DB",
"path": "axis/db_demo/base.ngc",
"blockReason": "design_tooldata_db_protocol_boundary",
"nextProof": "db_program_v2_1_handshake_getall_load_unload_or_put",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-2",
"family": "L4-PYTHON-REMAP",
"path": "axis/laser/raster_test.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-3",
"family": "L4-PYTHON-REMAP",
"path": "axis/laser/vector_test.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-4",
"family": "L4-PYTHON-REMAP",
"path": "axis/laser/vector_test2.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-5",
"family": "L4-PYTHON-REMAP",
"path": "axis/remap/cycle/nc_files/examples.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-6",
"family": "L4-PYTHON-REMAP",
"path": "axis/remap/extend-builtins/nc_files/examples.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-7",
"family": "L4-PYTHON-REMAP",
"path": "axis/remap/getting-started/nc_files/examples.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-8",
"family": "L4-PYTHON-REMAP",
"path": "axis/remap/manual-toolchange-with-tool-length-switch/nc_files/tcdemo.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-9",
"family": "L4-PYTHON-REMAP",
"path": "axis/remap/rack-toolchange/nc_files/tcdemo.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-10",
"family": "L4-PYTHON-REMAP",
"path": "axis/remap/stop-lookahead/nc_files/examples.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-11",
"family": "L4-PYTHON-REMAP",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/circular_pocket.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-12",
"family": "L4-PYTHON-REMAP",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_back_and_forth.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-13",
"family": "L4-PYTHON-REMAP",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-14",
"family": "L4-PYTHON-REMAP",
"path": "axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/simple_example.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-15",
"family": "L4-USER-M-PROCESS",
"path": "axis/vismach/millturn/example.ngc",
"blockReason": "design_m128_m129_linuxcnc_state_boundary",
"nextProof": "kinstype_guard_and_ini_xyz_hal_pin_state",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-16",
"family": "L4-PYTHON-REMAP",
"path": "axis/vismach/VMC_toolchange/toolchange.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-17",
"family": "L4-PYTHON-REMAP",
"path": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzac.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-18",
"family": "L4-PYTHON-REMAP",
"path": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzbc.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
},
{
"id": "hard-block-runtime-detail-19",
"family": "L4-PYTHON-REMAP",
"path": "gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/impeller-7bl-xyzac.ngc",
"blockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture",
"promotionAllowed": false
}
],
"hardBlockRuntimeFamilySummaryRows": [
{
"family": "L4-USER-M-PROCESS",
"candidateCount": 1,
"promotionAllowedCount": 0,
"locked": true,
"lockedPaths": [
"axis/vismach/millturn/example.ngc"
],
"firstPath": "axis/vismach/millturn/example.ngc",
"firstBlockReason": "design_m128_m129_linuxcnc_state_boundary",
"nextProof": "kinstype_guard_and_ini_xyz_hal_pin_state"
},
{
"family": "L4-TOOL-DB",
"candidateCount": 1,
"promotionAllowedCount": 0,
"locked": true,
"lockedPaths": [
"axis/db_demo/base.ngc"
],
"firstPath": "axis/db_demo/base.ngc",
"firstBlockReason": "design_tooldata_db_protocol_boundary",
"nextProof": "db_program_v2_1_handshake_getall_load_unload_or_put"
},
{
"family": "L4-PYTHON-REMAP",
"candidateCount": 17,
"promotionAllowedCount": 0,
"locked": true,
"lockedPaths": [
"axis/laser/raster_test.ngc",
"axis/laser/vector_test.ngc",
"axis/laser/vector_test2.ngc",
"axis/remap/cycle/nc_files/examples.ngc",
"axis/remap/extend-builtins/nc_files/examples.ngc",
"axis/remap/getting-started/nc_files/examples.ngc",
"axis/remap/manual-toolchange-with-tool-length-switch/nc_files/tcdemo.ngc",
"axis/remap/rack-toolchange/nc_files/tcdemo.ngc",
"axis/remap/stop-lookahead/nc_files/examples.ngc",
"axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/circular_pocket.ngc",
"axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_back_and_forth.ngc",
"axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition.ngc",
"axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/simple_example.ngc",
"axis/vismach/VMC_toolchange/toolchange.ngc",
"gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzac.ngc",
"gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzbc.ngc",
"gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/impeller-7bl-xyzac.ngc"
],
"firstPath": "axis/laser/raster_test.ngc",
"firstBlockReason": "design_linuxcnc_python_runtime_boundary",
"nextProof": "python_runtime_owner_and_fixture"
}
],
"layers": [
{
"id": "evidence-ready",
@@ -746,6 +1296,7 @@
"evidenceExpansion": {
"id": "browser-diagnostics-expansion",
"candidateCount": 13,
"artifactRowCount": 13,
"promotionAllowedCount": 0,
"baselineChanging": false,
"nextEvidence": "browser-diagnostics-binding"
@@ -2332,6 +2883,16 @@
"label": "Promotion candidate artifact",
"value": "wasm-port/build/wasm/sim-configs-inventory/promotion-candidates.tsv"
},
{
"id": "promotion-candidate-artifact-rows",
"label": "Promotion candidate artifact rows",
"value": "28"
},
{
"id": "evidence-expansion-artifact-rows",
"label": "Evidence expansion artifact rows",
"value": "13"
},
{
"id": "promotion-candidate-layers",
"label": "Promotion candidate layers",
@@ -2347,6 +2908,16 @@
"label": "Evidence expansion candidates",
"value": "13"
},
{
"id": "evidence-expansion-next-evidence",
"label": "Evidence expansion next evidence",
"value": "browser-diagnostics-binding"
},
{
"id": "evidence-expansion-baseline-changing",
"label": "Evidence expansion baseline changing",
"value": "no"
},
{
"id": "evidence-expansion-artifact",
"label": "Evidence expansion artifact",