631 lines
69 KiB
Markdown
631 lines
69 KiB
Markdown
# Sim Configs Coverage Matrix
|
|
|
|
This matrix maps every current `wasm-port/tests/native/verify_sim_configs.sh` entry
|
|
to its native classification and current Layer 3/4 coverage status. It is the
|
|
tracked review surface for `linuxcnc/configs/sim` inventory; the native harness
|
|
also emits machine-readable artifacts for automation.
|
|
|
|
Current baseline:
|
|
|
|
- Source file: `wasm-port/build/native/sim-configs/summary.tsv`
|
|
- Generated class summary: `wasm-port/build/native/sim-configs/class-summary.tsv`
|
|
- Generated path matrix: `wasm-port/build/native/sim-configs/path-matrix.tsv`
|
|
- Total records: `159`
|
|
- Native result: `pass 151`, `expected_fail 8`, `unexpected_fail 0`
|
|
- Current Layer 4 representative subset: `axis/foam`, `axis/geometry`,
|
|
`axis/external_offsets`, `axis/gladevcp`, `woodpecker/on_abort.ngc`,
|
|
bridge-mill `5axisgui.ngc`, TDR/TRT five-axis switchkins demos,
|
|
`melfa-sim`, and `puma_cube.ngc`
|
|
- `wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.mjs` checks that
|
|
this tracked matrix and generated `path-matrix.tsv` contain the same 159 paths
|
|
as native `summary.tsv` before running Node inventory.
|
|
- Node inventory artifact: `wasm-port/build/wasm/sim-configs-inventory/summary.tsv`
|
|
- Node skip/block artifact: `wasm-port/build/wasm/sim-configs-inventory/skip-summary.tsv`
|
|
- Node runtime-boundary artifact: `wasm-port/build/wasm/sim-configs-inventory/boundary-summary.tsv`
|
|
- Node INI runtime-boundary artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/ini-boundary-summary.tsv`
|
|
- Node blocked-dependency artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/blocked-dependency-summary.tsv`
|
|
- Node full-process boundary design artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/full-process-boundary-summary.tsv`
|
|
- Node user-M process boundary design artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/user-m-process-boundary-summary.tsv`
|
|
- Node user-M process transition contract artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/user-m-process-transition-plan.tsv`
|
|
- Node tool DB process boundary design artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/tool-db-process-boundary-summary.tsv`
|
|
- Node tool DB process transaction contract artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/tool-db-process-transaction-plan.tsv`
|
|
- Node tool DB native runtime probe gate artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/tool-db-process-native-runtime-probe-gate.tsv`
|
|
- Node Python-remap boundary inventory artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/python-remap-boundary-summary.tsv`
|
|
- Node Python-remap family inventory artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/python-remap-family-summary.tsv`
|
|
- Node Python-remap runtime contract artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/python-remap-runtime-contract.tsv`
|
|
- Node Python-remap native runtime readiness artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-readiness.tsv`
|
|
- Node Python-remap native runtime probe gate artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-probe-gate.tsv`
|
|
- Node Python-remap native runtime state-plan artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-state-plan.tsv`
|
|
- Node Python-remap native runtime fixture-plan artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-fixture-plan.tsv`
|
|
- Node runtime-boundary contract summary artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-contract-summary.tsv`
|
|
- Node boundary-phase completion artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/boundary-phase-completion-summary.tsv`
|
|
- Node native runtime probe execution-plan artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/native-runtime-probe-execution-plan.tsv`
|
|
- Node next-boundary worklist artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/next-boundary-worklist.tsv`
|
|
- Node next-boundary recommendation artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/next-boundary-recommendations.tsv`
|
|
- Node native evidence acceptance gate artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-native-evidence-acceptance-gate.tsv`
|
|
- Node promotion blocker summary artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-promotion-blockers.tsv`
|
|
- Node blocked-runtime host preflight artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-preflight.tsv`
|
|
- Node blocked-runtime host requirement summary artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-requirement-summary.tsv`
|
|
- Node blocked-runtime host unblock plan artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-unblock-plan.tsv`
|
|
- Node blocked-runtime family host readiness artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-family-host-readiness.tsv`
|
|
- Node blocked-runtime aggregate host readiness artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-readiness-rollup.tsv`
|
|
- Node blocked-runtime opt-in probe dispatch plan artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-dispatch-plan.tsv`
|
|
- Node blocked-runtime opt-in probe dispatch rollup artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-dispatch-rollup.tsv`
|
|
- Node blocked-runtime opt-in probe skip/evidence contract artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-skip-evidence-contract.tsv`
|
|
- Node blocked-runtime opt-in probe skip/evidence rollup artifact:
|
|
`wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-skip-evidence-rollup.tsv`
|
|
- Current Node inventory: `executed 28`, `passed 28`, `skipped 131`,
|
|
`unexpected_fail 0`
|
|
- Current Node skip/block counts: `ASSET-ONLY 65`, `L4-PYTHON-REMAP 53`,
|
|
`L4-TOOL-DB 1`, `L4-USER-M-PROCESS 1`, `NON_MAIN_CLASS 10`,
|
|
`UPSTREAM-DEMO 1`
|
|
|
|
Legend:
|
|
|
|
- `Layer 3`: `SIM-*` means dedicated native runtime probe coverage; `5AX-EXEC` means
|
|
native five-axis remap execution coverage; `-` means no dedicated runtime probe yet.
|
|
- `Layer 4 Node/Browser`: `REP` means the current representative smoke covers this
|
|
exact program; `INV` means the Node inventory runner covers the exact program;
|
|
`N/A` means the row is a subroutine asset and should not be judged as a standalone
|
|
browser main program; `-` means the row is not individually promoted at that layer
|
|
and must be interpreted with the row's blocked or class-coverage note.
|
|
- `Blocked`: current hard blocked dependency or non-target classification for future
|
|
inventory work. `ASSET-ONLY` means the row is not a browser/main-program target.
|
|
`L4-PYTHON-REMAP` means native `rs274` coverage exists but Node/browser full inventory
|
|
is blocked on an intentional Python-remap runtime boundary decision. `UPSTREAM-DEMO`
|
|
means the file is a preserved upstream expected-failure edge.
|
|
- `boundary-summary.tsv`: one row per native inventory path. It records the
|
|
matrix blocked kind, the SDK classifier's recommended hard block when an INI
|
|
is vendored, declared HAL/UI/HALUI/Python process dependencies, tool database
|
|
declarations, user-M process codes seen in the execution text, and which of
|
|
those user-M codes are not staged by vendored `USER_M_PATH` files. Python is
|
|
split into total process dependency, UI/DB process dependency, and Python
|
|
remap runtime dependency so safe UI representatives such as `gladevcp` are
|
|
not mislabeled as Python-remap coverage. Rows whose INI has not been
|
|
vendored yet use `recommended_blocked=UNAVAILABLE` and keep their tracked
|
|
matrix policy as the source of truth until the relevant boundary inventory
|
|
batch vendors the missing context.
|
|
- `ini-boundary-summary.tsv`: one row per unique INI referenced by the native
|
|
inventory. It aggregates path-level boundary reports so vendored INIs have a
|
|
direct machine-readable `report_available=1` check and hard block
|
|
recommendations can be audited at INI granularity.
|
|
- `blocked-dependency-summary.tsv`: one row per hard blocked
|
|
`L4-PYTHON-REMAP`, `L4-TOOL-DB`, and `L4-USER-M-PROCESS` path. It reads the
|
|
source `linuxcnc/configs/sim` INI files without vendoring or executing those
|
|
families, records Python modules, remap/prolog/epilog function ownership,
|
|
NGC remap subpaths, HAL/UI/HALUI process declarations, `DB_PROGRAM`, and
|
|
tool database protocol evidence, plus external user-M execution codes, their
|
|
process script files, and process side-effect evidence. The `linuxcnc_owner`
|
|
field records the LinuxCNC source/config files that own the blocked behavior,
|
|
and keeps those rows blocked until a LinuxCNC-owned runtime boundary is
|
|
designed.
|
|
- `full-process-boundary-summary.tsv`: one row for each designed-but-still-blocked
|
|
non-Python full-process boundary. It currently covers `axis/db_demo/base.ngc`
|
|
and `axis/vismach/millturn/example.ngc`, records LinuxCNC runtime owner
|
|
evidence, records required native/Node/browser proof, and requires
|
|
`execution_enabled=0`.
|
|
- `user-m-process-boundary-summary.tsv`: one row for each designed-but-still-blocked
|
|
external user-M process boundary. It currently records the `millturn`
|
|
`M128`/`M129` process files, remap call chain, kinstype guards, and
|
|
source-traceable `ini.[xyz].*` HAL pin state targets, while requiring
|
|
`execution_enabled=0` and `promotion_allowed=0`.
|
|
- `user-m-process-transition-plan.tsv`: the pending non-executing transition
|
|
contract for the `millturn` user-M boundary. It binds `M428` to `M128` and
|
|
`M429` to `M129`, records switchkins output/target, active G5x work offset,
|
|
guard pin, state mode, and expected `ini.[xyz].*` outputs, and still requires
|
|
`execution_enabled=0` and `promotion_allowed=0`.
|
|
- `user-m-process-native-transition-alignment.tsv`: the native source
|
|
alignment for the two `millturn` transition rows. It proves the generated
|
|
`M428/M429` transition contract still matches the native probe stdout for
|
|
switchkins output/target, G5x, offset pocket, and `M428 -> M128` /
|
|
`M429 -> M129` calls, while remaining pending and non-executing.
|
|
- `user-m-process-native-runtime-state-plan.tsv`: the pending native runnable
|
|
state-probe contract for `millturn`. It records the required LinuxCNC
|
|
task/HAL/Tcl user-M runtime, the HAL/INI environment, and exact
|
|
`ini.[xyz].*` values that a future runtime probe must observe after the
|
|
transitions, while keeping `execution_enabled=0` and `promotion_allowed=0`.
|
|
- `user-m-process-native-runtime-readiness.tsv`: the host capability gate for
|
|
that future native probe. It records whether `tclsh`, `halrun`, `halcmd`,
|
|
and `linuxcnc` are available on PATH and keeps the boundary pending and
|
|
non-promotable regardless of host readiness.
|
|
- `user-m-process-native-runtime-probe-gate.tsv`: the generated execution gate
|
|
for that future native probe. It records per-transition runtime readiness,
|
|
missing host commands, source-proof readiness, and the pending gate status.
|
|
The native `probe_millturn_user_m_runtime.sh` entry point reports
|
|
`skipped_missing_host_runtime` on hosts without the full LinuxCNC HAL/Tcl
|
|
runtime, `ready_disabled_by_default` when the host is ready but the guarded
|
|
runtime probe is not explicitly enabled, or `runtime_state_probe_passed` when
|
|
`ENABLE_MILLTURN_USER_M_RUNTIME_PROBE=1` proves the LinuxCNC-owned
|
|
`M128`/`M129` Tcl scripts update the expected `ini.[xyz].*` HAL pins.
|
|
command set and does not enable execution or promotion.
|
|
- `tool-db-process-boundary-summary.tsv`: one row for each designed-but-still-blocked
|
|
tool database process boundary. It currently records `db_nonran.py`,
|
|
LinuxCNC tooldata protocol messages, DB program callbacks, nonrandom tool
|
|
database state targets, and runtime owner evidence, while requiring
|
|
`execution_enabled=0` and `promotion_allowed=0`.
|
|
- `tool-db-process-transaction-plan.tsv`: the pending non-executing transaction
|
|
contract for the `db_demo` tool database boundary. It orders startup
|
|
handshake, get-all, spindle load notify, tool offset notify, and spindle
|
|
unload notify steps, binds each protocol message to the expected `db.py`
|
|
callback and state targets, and still requires `execution_enabled=0` and
|
|
`promotion_allowed=0`.
|
|
- `tool-db-process-native-runtime-readiness.tsv`: the host capability gate for
|
|
the guarded native DB process protocol probe. It records whether `python3`,
|
|
`linuxcnc`, `milltask`, `halcmd`, the configured `db_nonran.py`, and
|
|
LinuxCNC's `linuxcnc.so` / `tooldb.py` Python modules are available, while
|
|
keeping the DB boundary pending and non-promotable. The native
|
|
`probe_tool_db_runtime.sh` entry point reports `skipped_missing_host_runtime`
|
|
when the host runtime is unavailable, `ready_disabled_by_default` when it is
|
|
available but not explicitly enabled, or `runtime_protocol_probe_passed` when
|
|
`ENABLE_TOOL_DB_RUNTIME_PROBE=1` proves the LinuxCNC-owned `DB_PROGRAM`
|
|
`v2.1`/`g`/`p`/`l`/`u` protocol, nonrandom state updates, and flat-file
|
|
persistence.
|
|
- `tool-db-process-native-runtime-probe-gate.tsv`: the execution gate for the
|
|
guarded native DB process protocol probe. It combines source proof and host
|
|
readiness, records missing runtime requirements, and keeps the DB boundary
|
|
non-executing and non-promotable until the manual opt-in probe is allowed.
|
|
- `python-remap-boundary-summary.tsv`: one row for each `L4-PYTHON-REMAP`
|
|
path. It records Python modules, remap/prolog/epilog functions, NGC-only
|
|
subpaths, HAL/UI/HALUI assumptions, the LinuxCNC Python owner set, LinuxCNC
|
|
Python runtime owner evidence, and requires `execution_enabled=0`.
|
|
- `python-remap-family-summary.tsv`: one row per blocked Python-remap runtime
|
|
family. It aggregates row and INI counts plus Python module,
|
|
remap/prolog/epilog, NGC-only subpath, Python runtime owner evidence,
|
|
HAL/UI/HALUI, and `execution_enabled=0` evidence without vendoring or
|
|
executing those families.
|
|
- `python-remap-runtime-contract.tsv`: one row per blocked Python-remap runtime
|
|
family. It records LinuxCNC-owned Python runtime phases, Python modules,
|
|
remap/prolog/epilog callables, NGC-only subpaths, HAL/UI/HALUI assumptions,
|
|
native/Node/browser proof requirements, and keeps `proof_status=pending`,
|
|
`execution_enabled=0`, and `promotion_allowed=0`.
|
|
- `python-remap-native-runtime-readiness.tsv`: the host/source capability gate
|
|
for guarded native Python-remap runtime probes. It records `python3`,
|
|
`linuxcnc`, LinuxCNC's Python interpreter/plugin owner source files, and the
|
|
configured Python modules for each blocked family, while keeping every row
|
|
pending, non-executing, and non-promotable.
|
|
- `python-remap-native-runtime-probe-gate.tsv`: the execution gate for the
|
|
selected Python remap lifecycle fixture. It combines source proof and host
|
|
readiness, records missing runtime requirements, and keeps Python remap
|
|
execution blocked until the LinuxCNC host runtime and dispatch gate allow a
|
|
manual opt-in probe.
|
|
- `python-remap-native-runtime-state-plan.tsv`: one row per blocked
|
|
Python-remap family. It records the runtime phases, modules, callables,
|
|
NGC-only subpaths, process assumptions, readiness counts, source-alignment
|
|
inputs, and exact future native state-probe targets while keeping every row
|
|
pending, non-executing, and non-promotable.
|
|
- `python-remap-native-runtime-fixture-plan.tsv`: the first non-executing
|
|
Python runtime fixture plan. It selects
|
|
`axis/remap/stop-lookahead/nc_files` as the minimal lifecycle fixture because
|
|
it has Python modules and runtime phases without Python callable or NGC-only
|
|
subpath complexity, and keeps execution/promotion disabled. The native
|
|
`probe_python_remap_runtime.sh` entry point reports
|
|
`skipped_missing_host_runtime` without the host runtime,
|
|
`ready_disabled_by_default` when the host is ready but the probe is not
|
|
explicitly enabled, or `runtime_lifecycle_probe_passed` when
|
|
`ENABLE_PYTHON_REMAP_RUNTIME_PROBE=1` proves the `demo.ini`
|
|
path/toplevel import, `queuebuster` callable lookup, generator return, and
|
|
first `INTERP_EXECUTE_FINISH` yield.
|
|
- `runtime-boundary-contract-summary.tsv`: one row per blocked runtime boundary
|
|
class. It unifies the user-M transition contract, tool DB transaction
|
|
contract, and Python runtime contract with their native-alignment artifact,
|
|
and requires every contract row to remain pending with execution and
|
|
promotion disabled.
|
|
- `boundary-phase-completion-summary.tsv`: one row per boundary-phase
|
|
completion criterion. It requires vendored INI boundary reports, dependency
|
|
evidence for hard blocks, safe HAL/UI representative coverage, blocked
|
|
families remaining skipped/non-representative with execution disabled, and
|
|
LinuxCNC-owned runtime proof fields for user-M, tool DB, and Python runtime
|
|
blockers. When native source proof is available, it also requires that proof
|
|
to be consumed by generated worklist/native proof-gate rows without enabling
|
|
execution or promotion. It also records WASM sim-config inventory artifact
|
|
documentation coverage and native generated TSV documentation coverage as
|
|
explicit completion criteria. It also records the blocked runtime
|
|
worklist/recommendation consistency guard, the blocked runtime promotion gate
|
|
consistency guard, the blocked runtime host requirement consistency guard,
|
|
the blocked runtime host/dispatch/skip-evidence rollup consistency guard, the
|
|
blocked runtime opt-in cross-artifact consistency guard, the native source
|
|
proof/runtime probe consistency guard, and the runtime family
|
|
contract/alignment consistency guard as explicit completion criteria. The
|
|
family contract/alignment check keeps the user-M, tool DB, and Python
|
|
contract/readiness/probe artifacts aligned with the aggregate runtime
|
|
contract and native-alignment summaries without enabling execution or
|
|
promotion.
|
|
Browser smoke mirrors this completion-summary criterion list and fails on
|
|
criterion drift, so browser-side validation sees the same boundary-phase
|
|
gate set as the Node inventory without executing blocked runtime probes.
|
|
It also checks selected completion-summary counts against the blocked-runtime
|
|
and family-specific artifact rows already loaded by browser smoke, so the
|
|
machine-readable completion summary cannot claim a different row count from
|
|
the visible gate artifacts.
|
|
The Node coverage gate also checks that browser smoke keeps the same
|
|
generated WASM/native artifact tokens, fixed-count guards, duplicate-free
|
|
guards, fetchability/header guards, documentation-missing guards, completion
|
|
count-parity guards, review-document fetches, and native skipped-artifact
|
|
empty allowance as the Node inventory gate.
|
|
It also checks that `runtime-boundary-contract-summary.tsv` and
|
|
`runtime-boundary-native-alignment-summary.tsv` agree on boundary kind,
|
|
runtime alignment artifact, alignment row count, and disabled execution and
|
|
promotion state.
|
|
It also cross-checks user-M, tool DB, and Python family-specific
|
|
contract/readiness/probe artifacts against `runtime-boundary-contract-summary.tsv`
|
|
so browser validation sees the same runtime-family contract alignment as
|
|
Node inventory without executing blocked runtime processes.
|
|
Browser smoke also cross-checks `native-proof-alignment-summary.tsv`,
|
|
`native-runtime-probe-summary.tsv`, and `runtime-probe-gate-alignment.tsv`
|
|
for source-proof readiness, runtime readiness, required native proof, target,
|
|
and disabled execution/promotion parity.
|
|
It also cross-checks the native runtime probe execution plan, pass evidence
|
|
contract, host preflight, dispatch plan, and skip-evidence contract so the
|
|
browser smoke sees the same host-blocked opt-in command, missing
|
|
requirements, evidence status, and disabled execution/promotion state as the
|
|
Node inventory.
|
|
It also cross-checks the host-readiness, dispatch, and skip-evidence rollups
|
|
for counts, blocked families, missing requirements, blocked commands,
|
|
host/dispatch/evidence status, and disabled execution/promotion parity.
|
|
It also cross-checks the promotion lock, promotion readiness, promotion
|
|
blockers, post-native-pass gates, native evidence acceptance gate, and pass
|
|
evidence contract so browser validation sees the same locked promotion state
|
|
as Node inventory.
|
|
It also cross-checks recommendations, execution plans, host preflight,
|
|
family readiness, dispatch plans, skip-evidence contracts, and evidence
|
|
acceptance gates so browser validation sees the same opt-in command, proof,
|
|
missing requirement, and disabled execution/promotion state as Node inventory.
|
|
It also checks recommendation artifact row counts against the generated
|
|
user-M probe-gate, tool DB probe-gate, and Python runtime-contract source
|
|
rows, so priority handoffs cannot drift from the visible source artifacts.
|
|
It also checks each recommendation primary artifact and source artifact list
|
|
against the generated WASM inventory artifact set, including duplicate
|
|
detection, primary-artifact traceability, and exact per-family source
|
|
artifact sets. The Node coverage gate also verifies that browser smoke passes
|
|
the `wasmArtifactNames` returned by artifact documentation coverage into this
|
|
recommendation source-artifact coverage check.
|
|
- `native-proof-alignment-summary.tsv`: one row per native source proof class.
|
|
It aligns the native source proof summary with generated worklist/native
|
|
proof-gate consumers for user-M, tool DB, and Python runtime blockers.
|
|
- `next-boundary-worklist.tsv`: one row per next blocked runtime-boundary
|
|
design target. It keeps execution and promotion disabled, records the
|
|
LinuxCNC owner set and runtime owner evidence, records native, Node, and
|
|
browser proof requirements, and names the next boundary-design action before
|
|
any blocked family can be promoted.
|
|
- `next-boundary-recommendations.tsv`: the generated priority queue for the
|
|
next blocked runtime-boundary work. It currently ranks millturn `M128/M129`
|
|
state proof, tool DB protocol proof, and Python remap lifecycle proof, while
|
|
preserving active promotion locks and disabled execution. The Node inventory
|
|
verifies exact per-family source artifact sets, duplicate-free source lists,
|
|
primary-artifact traceability, and generated artifact existence for each
|
|
recommendation.
|
|
- `native-runtime-probe-execution-plan.tsv`: the guarded opt-in execution
|
|
plan for blocked runtime native probes. It records the exact command,
|
|
required native proof key, current runtime readiness, expected pass status,
|
|
missing requirements, gate alignment, and promotion prerequisites. It is not
|
|
a probe runner and does not promote rows.
|
|
- `runtime-boundary-native-evidence-acceptance-gate.tsv`: one row per blocked
|
|
runtime family deciding whether native pass evidence may be accepted. While
|
|
probes are skipped for missing host requirements, evidence acceptance is
|
|
blocked and Node/browser gates remain blocked.
|
|
- `runtime-boundary-promotion-blockers.tsv`: the expanded blocker summary for
|
|
non-ready promotions. Current rows record missing host runtime, native
|
|
probe not passed, native evidence not ready, Node/browser gates incomplete,
|
|
active promotion lock, and manual lock update required.
|
|
- The Node inventory also performs a cross-artifact consistency guard across
|
|
the blocked runtime opt-in target set. The guard requires the
|
|
recommendations, execution plan, host preflight, family readiness, dispatch
|
|
plan, skip/evidence contract, native evidence acceptance gate, promotion
|
|
readiness, promotion blockers, and post-native-pass gates to agree on the
|
|
target, proof keys, opt-in command, missing host requirements, active
|
|
promotion lock, and disabled execution/promotion fields.
|
|
- The Node inventory also checks documentation coverage for generated
|
|
sim-config inventory TSVs. Every artifact emitted under
|
|
`build/wasm/sim-configs-inventory/` must be referenced by the current
|
|
compatibility, matrix, or full-process boundary docs, so generated gate
|
|
artifacts cannot silently appear without review text. The generated WASM
|
|
inventory artifact list must remain the exact duplicate-free 54-entry
|
|
baseline, and every token plus the fixed-count, duplicate-free, and
|
|
fetchability guards must also be listed by browser smoke.
|
|
- The same inventory check covers native generated TSV artifacts under
|
|
`build/native/` by relative path, including native source-proof,
|
|
runtime-probe, `nc_files`, and sim-config baseline artifacts. The native
|
|
generated TSV token list must remain the exact duplicate-free 8-token
|
|
baseline, and every token plus the fixed-count, duplicate-free, fetchability,
|
|
and empty-skipped allowance guards must also be listed by browser smoke.
|
|
- Browser smoke mirrors this documentation coverage by fetching the current
|
|
compatibility, matrix, and full-process boundary docs and checking the
|
|
generated WASM inventory artifact names plus native TSV tokens against the
|
|
same completion-summary counts. The Node coverage gate also locks the two
|
|
documentation-coverage completion counts to the current `54` WASM inventory
|
|
artifacts and `8` native TSV artifacts. It verifies that browser smoke
|
|
executes the artifact documentation coverage helper, calls the completion
|
|
count-parity helper with the generated completion rows, fetches and joins the
|
|
exact compatibility, matrix, and full-process boundary review-document set
|
|
used for the missing-reference checks, requires those checks to iterate
|
|
`wasmArtifactNames` and `nativeArtifactTokens` against the joined
|
|
`documentationText`, fetches generated WASM TSVs by artifact name, fetches
|
|
native TSVs by relative artifact token, binds the documentation-coverage
|
|
completion counts to the returned `wasmArtifactNames` and
|
|
`nativeArtifactTokens` arrays, and keeps completion evidence reviewable when
|
|
browser-side count parity is checked. Browser smoke also requires a
|
|
non-empty TSV header, duplicate-free expected lists, and fixed artifact/token
|
|
counts. This is
|
|
documentation/artifact fetchability parity only and does not execute blocked
|
|
runtime probes. The native
|
|
`build/native/sim-configs/skipped.tsv` artifact may be empty when the native
|
|
strict sim-config baseline has no skipped rows.
|
|
- The Node inventory also checks native source proof consistency. Native
|
|
source proof alignment rows, the native runtime probe summary, and runtime
|
|
probe gate alignment must cover the same blocked classes, agree that source
|
|
proof is ready, and keep execution and promotion disabled.
|
|
- `runtime-boundary-host-preflight.tsv`: the host-facing preflight for the
|
|
guarded blocked-runtime native probes. It records each blocked family,
|
|
required host/runtime commands, opt-in environment variable, exact native
|
|
probe command, current probe status, and keeps execution and promotion
|
|
disabled. It does not run the probes.
|
|
- `runtime-boundary-host-requirement-summary.tsv`: a normalized requirement
|
|
table for the blocked runtime probes. It records each required host command
|
|
or source/module, its availability, affected blocked families, affected
|
|
opt-in probe environment variables, and whether the missing requirement
|
|
currently blocks execution.
|
|
- `runtime-boundary-host-unblock-plan.tsv`: the filtered plan for unavailable
|
|
host requirements. It records the affected blocked families, affected
|
|
opt-in commands, and remaining missing requirements after each single
|
|
requirement is provided. It is advisory only and does not install anything
|
|
or allow promotion.
|
|
- `runtime-boundary-family-host-readiness.tsv`: one host-readiness row per
|
|
blocked runtime family. It records missing requirements, available
|
|
prerequisites, the opt-in command, current probe/preflight status, and keeps
|
|
`execution_enabled=0` and `promotion_allowed=0`.
|
|
- Browser smoke cross-checks the host requirement summary, unblock plan,
|
|
family host readiness, and host preflight rows. The check verifies
|
|
unavailable requirement ownership, available prerequisite ownership,
|
|
affected opt-in environments, and exact probe command traceability while
|
|
remaining non-executing and non-promoting.
|
|
- `runtime-boundary-host-readiness-rollup.tsv`: the aggregate host-readiness
|
|
decision for all blocked runtime families. On this host it records zero
|
|
ready families, missing `halcmd`, `halrun`, `linuxcnc`, and `milltask`, and
|
|
`host_blocked_for_all_opt_in_native_probes`.
|
|
- `runtime-boundary-opt-in-probe-dispatch-plan.tsv`: one dispatch row per
|
|
guarded native runtime probe. It turns host readiness into a dispatch action
|
|
and remains non-promoting; a dispatchable row only means the manual opt-in
|
|
native probe may be attempted on a ready host.
|
|
- `runtime-boundary-opt-in-probe-dispatch-rollup.tsv`: the aggregate dispatch
|
|
switch for blocked runtime probes. Current rows are blocked for missing host
|
|
requirements, so no opt-in native probe is dispatchable on this host.
|
|
- `runtime-boundary-opt-in-probe-skip-evidence-contract.tsv`: the per-probe
|
|
skip/evidence contract. It records the skip reason, missing host
|
|
requirements, current probe status, whether native pass evidence is required
|
|
now, and keeps every skipped probe non-executing and non-promoting.
|
|
- `runtime-boundary-opt-in-probe-skip-evidence-rollup.tsv`: the aggregate
|
|
evidence decision for skipped opt-in probes. While all probes are skipped for
|
|
missing host requirements, no native pass evidence is accepted.
|
|
|
|
## Summary
|
|
|
|
| Class | Count |
|
|
| --- | --- |
|
|
| `main` | `48` |
|
|
| `macro_load` | `46` |
|
|
| `remap_subroutine` | `65` |
|
|
|
|
## Family Summary
|
|
|
|
| Family | Count |
|
|
| --- | --- |
|
|
| `axis/db_demo` | `1` |
|
|
| `axis/external_offsets` | `6` |
|
|
| `axis/foam` | `1` |
|
|
| `axis/geometry` | `1` |
|
|
| `axis/gladevcp` | `1` |
|
|
| `axis/laser` | `3` |
|
|
| `axis/lathe-fanucy` | `1` |
|
|
| `axis/remap` | `29` |
|
|
| `axis/rose_engine` | `2` |
|
|
| `axis/vismach` | `57` |
|
|
| `gmoccapy/lathe_configs` | `8` |
|
|
| `gmoccapy/macros` | `25` |
|
|
| `gmoccapy/non_trivial_kinematics` | `5` |
|
|
| `gscreen/industrial_lathe_wear` | `1` |
|
|
| `gscreen/silverdragon` | `4` |
|
|
| `qtaxis/non-trivial` | `3` |
|
|
| `qtdragon/qtdragon_multi_joint` | `1` |
|
|
| `qtdragon/qtdragon_xyz` | `1` |
|
|
| `qtdragon/qtdragon_xyz45` | `1` |
|
|
| `qtdragon_hd/qtdragon_hd_xyz` | `1` |
|
|
| `qtdragon_hd/qtdragon_hd_z_compensation` | `1` |
|
|
| `qtvcp_screens/industrial_lathe_wear` | `1` |
|
|
| `qtvcp_screens/non-trivial` | `3` |
|
|
| `qtvcp_screens/qtdragon` | `1` |
|
|
| `woodpecker` | `1` |
|
|
|
|
## Program Matrix
|
|
|
|
| Path | Family | Class | Native | Expected Failure | Layer 3 | Layer 4 Node | Layer 4 Browser | Blocked | Notes |
|
|
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
| `axis/db_demo/base.ngc` | `axis/db_demo` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-TOOL-DB` | native pass, but Node/browser inventory is blocked by the LinuxCNC tool-database process boundary declared by `[EMCIO]DB_PROGRAM` |
|
|
| `axis/external_offsets/circles.ngc` | `axis/external_offsets` | `macro_load` | `PASS` | `-` | `SIM-EOFF` | `REP` | `REP` | `-` | Layer 4 macro-only class representative now covered through wrapped execution with native staging inputs |
|
|
| `axis/external_offsets/dyn_demo.ngc` | `axis/external_offsets` | `main` | `FAIL` | `user-m-code-M111` | `SIM-EOFF` | `REP` | `REP` | `-` | Layer 2 expected-fail; M111 runtime edge covered |
|
|
| `axis/external_offsets/eoffsets.ngc` | `axis/external_offsets` | `main` | `FAIL` | `user-m-code-M111` | `SIM-EOFF` | `REP` | `REP` | `-` | Layer 2 expected-fail; M111 runtime edge covered |
|
|
| `axis/external_offsets/jwp_z.ngc` | `axis/external_offsets` | `main` | `FAIL` | `user-m-code-M111` | `SIM-EOFF` | `REP` | `REP` | `-` | Layer 2 expected-fail; M111 runtime edge covered |
|
|
| `axis/external_offsets/opa_demo.ngc` | `axis/external_offsets` | `main` | `FAIL` | `user-m-code-M111` | `SIM-EOFF` | `REP` | `REP` | `-` | Layer 2 expected-fail; M111 runtime edge covered |
|
|
| `axis/external_offsets/queuebuster.ngc` | `axis/external_offsets` | `macro_load` | `PASS` | `-` | `SIM-EOFF` | `-` | `-` | `-` | non-main macro/load fixture diagnostics evidence is now required by virtual HAL release validation through the owning `eoffsets.ini` NGCGUI declaration; not promoted as a standalone browser main program |
|
|
| `axis/foam/foam.ngc` | `axis/foam` | `main` | `FAIL` | `ini-axis-mask-UV` | `SIM-FOAM` | `REP` | `REP` | `-` | Layer 2 expected-fail; Layer 3/4 runtime edge covered |
|
|
| `axis/geometry/xyzc.ngc` | `axis/geometry` | `main` | `FAIL` | `user-m-code-M110` | `SIM-XYZC` | `REP` | `REP` | `-` | Layer 2 expected-fail; M110 runtime edge covered |
|
|
| `axis/gladevcp/probe.ngc` | `axis/gladevcp` | `main` | `PASS` | `-` | `-` | `REP` | `REP` | `-` | plain INI/tool-table main-program class representative covered in Node and browser through vendored staging inputs |
|
|
| `axis/laser/raster_test.ngc` | `axis/laser` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `axis/laser/vector_test.ngc` | `axis/laser` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `axis/laser/vector_test2.ngc` | `axis/laser` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `axis/lathe-fanucy/toolchange.ngc` | `axis/lathe-fanucy` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | inventory-only macro/load path; macro_load class coverage is represented by `axis/external_offsets/circles.ngc` unless this family is deliberately promoted later |
|
|
| `axis/remap/cycle/nc_files/examples.ngc` | `axis/remap` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native baseline pass, but Layer 4 full inventory is blocked by Python remap/prolog/epilog runtime boundaries; remap subroutine assets remain `ASSET-ONLY` |
|
|
| `axis/remap/cycle/nc_subroutines/g843.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_files/examples.ngc` | `axis/remap` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native baseline pass, but Layer 4 full inventory is blocked by Python prolog/epilog remap runtime boundaries; remap subroutine assets remain `ASSET-ONLY` |
|
|
| `axis/remap/extend-builtins/nc_subroutines/change.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/extend_m0.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/extend_m1.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/extend_m60.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/extend_m7.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/extend_m8.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/extend_m9.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/prepare.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/setfeed.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/setspeed.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/extend-builtins/nc_subroutines/settool.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/getting-started/nc_files/examples.ngc` | `axis/remap` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native baseline pass, but Layer 4 full inventory is blocked by Python remap handlers such as `G88.1`; remap subroutine assets remain `ASSET-ONLY` |
|
|
| `axis/remap/getting-started/nc_subroutines/change_min.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/getting-started/nc_subroutines/m400.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/getting-started/nc_subroutines/m410.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/getting-started/nc_subroutines/prepare_min.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/manual-toolchange-with-tool-length-switch/nc_files/tcdemo.ngc` | `axis/remap` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native baseline pass, but Layer 4 full inventory is blocked by Python tool-change prolog/epilog runtime boundaries; remap subroutine assets remain `ASSET-ONLY` |
|
|
| `axis/remap/manual-toolchange-with-tool-length-switch/nc_subroutines/manual_change.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/manual-toolchange-with-tool-length-switch/nc_subroutines/on_abort.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/manual-toolchange-with-tool-length-switch/nc_subroutines/restore.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/rack-toolchange/nc_files/tcdemo.ngc` | `axis/remap` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native baseline pass, but Layer 4 full inventory is blocked by Python tool-change prolog/epilog runtime boundaries; remap subroutine assets remain `ASSET-ONLY` |
|
|
| `axis/remap/rack-toolchange/nc_subroutines/on_abort.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/rack-toolchange/nc_subroutines/rack_change.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/rack-toolchange/nc_subroutines/tool_getput_move.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/rack-toolchange/nc_subroutines/tool_holder_clear_move.ngc` | `axis/remap` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/remap/stop-lookahead/nc_files/examples.ngc` | `axis/remap` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native baseline pass, but Layer 4 full inventory is blocked by Python `queuebuster` remap runtime boundaries; remap subroutine assets remain `ASSET-ONLY` |
|
|
| `axis/rose_engine/rcone.ngc` | `axis/rose_engine` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | non-main macro/load fixture diagnostics evidence is now required by virtual HAL release validation and paired with `rcone_demo.ngc`; not promoted as a standalone browser main program |
|
|
| `axis/rose_engine/rcone_demo.ngc` | `axis/rose_engine` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | Node inventory coverage uses the native harness-selected `axis/sim.tbl` fallback staged at the INI-declared tool-table path; virtual HAL promotion candidate gate now exports explicit browser diagnostics evidence while inventory baseline remains unchanged |
|
|
| `axis/vismach/5axis/bridgemill/5axisgui.ngc` | `axis/vismach` | `main` | `FAIL` | `ini-axis-mask-W` | `SIM-BRIDGE,5AX-EXEC` | `REP` | `REP` | `-` | Layer 2 expected-fail; W-axis and remap runtime edge covered |
|
|
| `axis/vismach/5axis/bridgemill/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/bridgemill/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/bridgemill/remap_subs/430remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-dual-rotary/demos/xyzab-tdr-demo.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TDR five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-dual-rotary/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-dual-rotary/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `5AX-EXEC` | `REP` | `REP` | `-` | TRT five-axis remap class covered in Node and browser through vendored INI, tool-table, remap-subroutine, and demo staging |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_ac.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzac_switchkins_sub.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `5AX-EXEC` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/circular_pocket.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass, but Layer 4 full inventory is blocked on Python remap entry points such as g682, g69_core, and g53x_core |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass, but Layer 4 full inventory is blocked on Python remap entry points such as g682, g69_core, and g53x_core |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_back_and_forth.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass, but Layer 4 full inventory is blocked on Python remap entry points such as g682, g69_core, and g53x_core |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_g533.ngc` | `axis/vismach` | `main` | `FAIL` | `upstream-demo-missing-motion-gcode` | `-` | `-` | `-` | `UPSTREAM-DEMO` | preserve upstream demo failure; do not force PASS |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/simple_example.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass, but Layer 4 full inventory is blocked on Python remap entry points such as g682, g69_core, and g53x_core |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/square.ngc` | `axis/vismach` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass, but Layer 4 full inventory is blocked on Python remap entry points such as g682, g69_core, and g53x_core |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/430remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g531remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g533remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g536remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g69remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/on_abort_no_twp_reset.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/on_abort_with_twp_reset.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/VMC_toolchange/toolchange.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native baseline pass, but Layer 4 full inventory is blocked by Python tool-change prolog/epilog and full tool-change runtime boundaries |
|
|
| `axis/vismach/hexapod-sim/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/hexapod-sim/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/hexapod-sim/remap_subs/430remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/melfa-sim/example.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `REP` | `REP` | `-` | robot/Genser-style remap machine class representative covered in Node and browser through vendored INI, tool-table, and remap-subroutine staging |
|
|
| `axis/vismach/melfa-sim/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/melfa-sim/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/melfa-sim/remap_subs/430remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/millturn/example.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-USER-M-PROCESS` | native pass, but Node/browser inventory is blocked by external `USER_M_PATH` process M-codes `M128` and `M129` rather than the deterministic `M110`/`M111` boundary already modeled by the standalone runtime |
|
|
| `axis/vismach/millturn/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/millturn/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/puma/puma_cube.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `REP` | `REP` | `-` | PUMA kinematics/remap machine class representative covered in Node and browser through vendored INI, tool-table, and remap-subroutine staging |
|
|
| `axis/vismach/puma/puma_seam_weld.ngc` | `axis/vismach` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | Node inventory covered with the same vendored puma machine context; virtual HAL promotion candidate gate now exports explicit browser diagnostics evidence paired with the `puma_cube.ngc` representative while inventory baseline remains unchanged |
|
|
| `axis/vismach/puma/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/puma/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/puma/remap_subs/430remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/scara/remap_subs/428remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/scara/remap_subs/429remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `axis/vismach/scara/remap_subs/430remap.ngc` | `axis/vismach` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `gmoccapy/lathe_configs/boring.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/lathe_configs/chamfer.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/lathe_configs/drilling.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/lathe_configs/facing.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/lathe_configs/grooving.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/lathe_configs/radius.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/lathe_configs/threading.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/lathe_configs/turning.ngc` | `gmoccapy/lathe_configs` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/change.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/change_g43.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/go_to_position.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/halo_world.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/i_am_lost.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/increment.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/jog_around.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_0.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_1.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_10.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_11.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_12.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_13.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_14.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_15.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_2.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_3.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_4.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_5.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_6.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_7.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_8.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/macro_9.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/on_abort.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/macros/settool_g43.ngc` | `gmoccapy/macros` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzac.ngc` | `gmoccapy/non_trivial_kinematics` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/boat-xyzbc.ngc` | `gmoccapy/non_trivial_kinematics` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/impeller-7bl-xyzac.ngc` | `gmoccapy/non_trivial_kinematics` | `main` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/test-xyzac.ngc` | `gmoccapy/non_trivial_kinematics` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gmoccapy/non_trivial_kinematics/table-rotary-tilting/examples/test-xyzbc.ngc` | `gmoccapy/non_trivial_kinematics` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `L4-PYTHON-REMAP` | native pass; Layer 4 is blocked until the Python-remap runtime boundary is deliberately designed |
|
|
| `gscreen/industrial_lathe_wear/toolchange.ngc` | `gscreen/industrial_lathe_wear` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | inventory-only macro/load path; macro_load class coverage is represented by `axis/external_offsets/circles.ngc` unless this family is deliberately promoted later |
|
|
| `gscreen/silverdragon/macros/auto_zref.ngc` | `gscreen/silverdragon` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | inventory-only macro/load path; macro_load class coverage is represented by `axis/external_offsets/circles.ngc` unless this family is deliberately promoted later |
|
|
| `gscreen/silverdragon/macros/laserzero.ngc` | `gscreen/silverdragon` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | inventory-only macro/load path; macro_load class coverage is represented by `axis/external_offsets/circles.ngc` unless this family is deliberately promoted later |
|
|
| `gscreen/silverdragon/macros/tool_sensor.ngc` | `gscreen/silverdragon` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | inventory-only macro/load path; macro_load class coverage is represented by `axis/external_offsets/circles.ngc` unless this family is deliberately promoted later |
|
|
| `gscreen/silverdragon/macros/touch_plate.ngc` | `gscreen/silverdragon` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | inventory-only macro/load path; macro_load class coverage is represented by `axis/external_offsets/circles.ngc` unless this family is deliberately promoted later |
|
|
| `qtaxis/non-trivial/scara/remap_subs/428remap.ngc` | `qtaxis/non-trivial` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `qtaxis/non-trivial/scara/remap_subs/429remap.ngc` | `qtaxis/non-trivial` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `qtaxis/non-trivial/scara/remap_subs/430remap.ngc` | `qtaxis/non-trivial` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `qtdragon/qtdragon_multi_joint/on_abort.ngc` | `qtdragon/qtdragon_multi_joint` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | vendored INI/tool-table allow Node inventory coverage; virtual HAL promotion candidate gate now exports explicit browser diagnostics evidence while inventory baseline remains unchanged |
|
|
| `qtdragon/qtdragon_xyz/on_abort.ngc` | `qtdragon/qtdragon_xyz` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | vendored INI/tool-table allow Node inventory coverage; QtDragon family promotion candidate gate now exports explicit browser diagnostics evidence while inventory baseline remains unchanged |
|
|
| `qtdragon/qtdragon_xyz45/on_abort.ngc` | `qtdragon/qtdragon_xyz45` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | vendored INI/tool-table allow Node inventory coverage; QtDragon family promotion candidate gate now exports explicit browser diagnostics evidence while inventory baseline remains unchanged |
|
|
| `qtdragon_hd/qtdragon_hd_xyz/on_abort.ngc` | `qtdragon_hd/qtdragon_hd_xyz` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | vendored INI/tool-table allow Node inventory coverage; QtDragon family promotion candidate gate now exports explicit browser diagnostics evidence while inventory baseline remains unchanged |
|
|
| `qtdragon_hd/qtdragon_hd_z_compensation/on_abort.ngc` | `qtdragon_hd/qtdragon_hd_z_compensation` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | vendored INI/tool-table allow Node inventory coverage; QtDragon family promotion candidate gate now exports explicit browser diagnostics evidence while inventory baseline remains unchanged |
|
|
| `qtvcp_screens/industrial_lathe_wear/toolchange.ngc` | `qtvcp_screens/industrial_lathe_wear` | `macro_load` | `PASS` | `-` | `-` | `-` | `-` | `-` | inventory-only macro/load path; macro_load class coverage is represented by `axis/external_offsets/circles.ngc` unless this family is deliberately promoted later |
|
|
| `qtvcp_screens/non-trivial/scara/remap_subs/428remap.ngc` | `qtvcp_screens/non-trivial` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `qtvcp_screens/non-trivial/scara/remap_subs/429remap.ngc` | `qtvcp_screens/non-trivial` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `qtvcp_screens/non-trivial/scara/remap_subs/430remap.ngc` | `qtvcp_screens/non-trivial` | `remap_subroutine` | `PASS` | `-` | `-` | `N/A` | `N/A` | `ASSET-ONLY` | subroutine asset; validate by parse/remap path rather than standalone main-program execution |
|
|
| `qtvcp_screens/qtdragon/on_abort.ngc` | `qtvcp_screens/qtdragon` | `main` | `PASS` | `-` | `-` | `INV` | `-` | `-` | vendored INI/tool-table allow Node inventory coverage; QtDragon family promotion candidate gate now exports explicit browser diagnostics evidence while inventory baseline remains unchanged |
|
|
| `woodpecker/on_abort.ngc` | `woodpecker` | `main` | `PASS` | `-` | `-` | `REP` | `REP` | `-` | Layer 4 deterministic on_abort class representative now covered |
|