Add blocked runtime gate review coverage
This commit is contained in:
@@ -141,14 +141,28 @@ The native harness also emits machine-readable derived artifacts without
|
||||
changing the `summary.tsv` schema:
|
||||
|
||||
```text
|
||||
wasm-port/build/native/source-probes.tsv
|
||||
wasm-port/build/native/native-source-proof-summary.tsv
|
||||
wasm-port/build/native/native-runtime-probe-summary.tsv
|
||||
wasm-port/build/native/nc-files/summary.tsv
|
||||
wasm-port/build/native/sim-configs/summary.tsv
|
||||
wasm-port/build/native/sim-configs/class-summary.tsv
|
||||
wasm-port/build/native/sim-configs/path-matrix.tsv
|
||||
wasm-port/build/native/sim-configs/skipped.tsv
|
||||
```
|
||||
|
||||
`class-summary.tsv` aggregates class/status/expected-failure counts.
|
||||
`path-matrix.tsv` records each path, class, native status, expected-failure
|
||||
reason, INI, tool table, runtime family, and blocked kind for CI and Node
|
||||
inventory reconciliation.
|
||||
`source-probes.tsv` records the native source-probe entry points used by
|
||||
`verify_native_probes.sh`. `native-source-proof-summary.tsv` records
|
||||
LinuxCNC-owned source proof for user-M process, tool DB process, and Python
|
||||
remap runtime blockers without enabling execution or promotion.
|
||||
`native-runtime-probe-summary.tsv` records the guarded native opt-in runtime
|
||||
probe status and missing host requirements. `nc-files/summary.tsv` records the
|
||||
Layer 1 native `nc_files` baseline, and `sim-configs/skipped.tsv` records the
|
||||
Layer 2 native sim-config skipped or expected-skip accounting.
|
||||
|
||||
The Node inventory layer writes its own machine-readable artifacts:
|
||||
|
||||
@@ -163,19 +177,34 @@ wasm-port/build/wasm/sim-configs-inventory/user-m-process-state-targets.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/user-m-process-native-state-alignment.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/tool-db-process-protocol-gates.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/tool-db-process-native-protocol-alignment.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/tool-db-process-native-runtime-probe-gate.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-boundary-summary.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-runtime-gates.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-alignment.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-readiness.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-probe-gate.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-state-plan.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-fixture-plan.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/python-remap-family-summary.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/boundary-phase-completion-summary.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/native-proof-alignment-summary.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-native-alignment-summary.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/native-runtime-probe-execution-plan.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/blocked-runtime-promotion-lock.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/next-boundary-worklist.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/next-boundary-recommendations.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/boundary-proof-gates.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-native-evidence-acceptance-gate.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-promotion-blockers.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-preflight.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-requirement-summary.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-unblock-plan.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-family-host-readiness.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-host-readiness-rollup.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-dispatch-plan.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-dispatch-rollup.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-skip-evidence-contract.tsv
|
||||
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-opt-in-probe-skip-evidence-rollup.tsv
|
||||
```
|
||||
|
||||
The current skip/block summary is `ASSET-ONLY=65`, `L4-PYTHON-REMAP=53`,
|
||||
@@ -243,6 +272,133 @@ blocked dependency row, records the required native/Node/browser proof, and
|
||||
keeps `execution_enabled=0` until the corresponding LinuxCNC-owned runtime
|
||||
boundary exists. The tracked matrix and inventory guard also require those two
|
||||
rows to remain non-representative in Node/browser until that proof exists.
|
||||
`runtime-boundary-host-preflight.tsv` is the host-facing preflight for the
|
||||
blocked runtime probes. It records each blocked family, the required LinuxCNC
|
||||
runtime commands, the opt-in environment variable, the exact native probe
|
||||
command, the current probe status, and keeps `execution_enabled=0` and
|
||||
`promotion_allowed=0`. It does not run probes or relax promotion locks.
|
||||
`runtime-boundary-host-requirement-summary.tsv` normalizes those preflight
|
||||
requirements into one row per host command or source/module prerequisite, so
|
||||
missing `halcmd`, `halrun`, `linuxcnc`, and `milltask` can be audited by the
|
||||
blocked families they affect. `runtime-boundary-host-unblock-plan.tsv`
|
||||
filters that table to unavailable requirements and records the affected
|
||||
opt-in commands and remaining missing requirements; it is a planning artifact
|
||||
only.
|
||||
`runtime-boundary-family-host-readiness.tsv` reduces the same host evidence to
|
||||
one row per blocked runtime family, and
|
||||
`runtime-boundary-host-readiness-rollup.tsv` gives the aggregate decision. On
|
||||
this host the rollup remains `host_blocked_for_all_opt_in_native_probes` with
|
||||
zero ready opt-in commands. These rows are non-executing and non-promoting.
|
||||
`runtime-boundary-opt-in-probe-dispatch-plan.tsv` turns each family readiness
|
||||
row into a per-probe dispatch action. `runtime-boundary-opt-in-probe-dispatch-rollup.tsv`
|
||||
then gives the aggregate dispatch switch; currently every blocked runtime
|
||||
probe is skipped for missing host requirements. Dispatch permission only means
|
||||
the guarded native probe may be manually run on a ready host, not that the row
|
||||
is promoted.
|
||||
`runtime-boundary-opt-in-probe-skip-evidence-contract.tsv` records why each
|
||||
non-dispatched probe is skipped and whether native pass evidence is required
|
||||
yet. `runtime-boundary-opt-in-probe-skip-evidence-rollup.tsv` gives the
|
||||
aggregate evidence decision. While probes are skipped for missing host
|
||||
requirements, no native pass evidence is accepted and every blocked family
|
||||
remains `execution_enabled=0` and `promotion_allowed=0`.
|
||||
`native-runtime-probe-execution-plan.tsv` records the exact opt-in command,
|
||||
required native proof key, current runtime readiness, expected pass status,
|
||||
missing requirements, and promotion prerequisites for the three guarded native
|
||||
runtime probes. On this host all rows remain
|
||||
`plan_status=blocked_missing_host_runtime`.
|
||||
`runtime-boundary-native-evidence-acceptance-gate.tsv` decides whether native
|
||||
pass evidence may be accepted for each blocked runtime family. It currently
|
||||
blocks evidence acceptance until host requirements are available and the
|
||||
native opt-in probe passes. `runtime-boundary-promotion-blockers.tsv` expands
|
||||
each non-ready promotion decision into concrete blocker keys such as missing
|
||||
host runtime, native probe not passed, Node/browser gates incomplete,
|
||||
promotion lock active, and manual lock update required.
|
||||
`next-boundary-recommendations.tsv` is the generated priority handoff for the
|
||||
next runtime boundary work. It ranks millturn user-M, tool DB, and Python
|
||||
runtime lifecycle work, while keeping `execution_enabled=0` and
|
||||
`promotion_allowed=0`. The Node inventory verifies the exact per-family
|
||||
`source_artifacts` set, duplicate-free source lists, and `primary_artifact`
|
||||
traceability for each recommendation, and requires every referenced artifact
|
||||
token to exist under the generated sim-config inventory artifact directory.
|
||||
The Node inventory also runs a cross-artifact guard over the blocked runtime
|
||||
opt-in target set. It requires recommendations, execution plan, host preflight,
|
||||
dispatch plan, skip/evidence contract, native evidence acceptance gate,
|
||||
promotion readiness, promotion blockers, and post-native-pass gates to agree
|
||||
on the same target, proof keys, opt-in command, missing runtime requirements,
|
||||
active promotion lock, and non-executing/non-promoting state.
|
||||
The browser smoke mirrors the promotion and opt-in gate consistency checks by
|
||||
cross-checking the promotion lock, readiness, blocker, post-native-pass, native
|
||||
evidence acceptance, pass-evidence, recommendation, host-preflight, family
|
||||
readiness, dispatch, and skip-evidence artifacts. This browser-side parity is
|
||||
non-executing and keeps every blocked runtime family locked until native,
|
||||
Node, browser, and manual promotion gates all agree.
|
||||
It also cross-checks `runtime-boundary-host-requirement-summary.tsv`,
|
||||
`runtime-boundary-host-unblock-plan.tsv`,
|
||||
`runtime-boundary-family-host-readiness.tsv`, and
|
||||
`runtime-boundary-host-preflight.tsv` so missing and available host
|
||||
requirements, affected opt-in commands, and family probe commands cannot drift
|
||||
between the host-readiness artifacts.
|
||||
It also checks that `boundary-phase-completion-summary.tsv` counts match the
|
||||
blocked-runtime and family-specific artifact rows the browser has already
|
||||
loaded, so completion criteria cannot drift from the generated gate artifacts
|
||||
seen by browser smoke.
|
||||
It also cross-checks the 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 the
|
||||
Node inventory, without running any blocked runtime process.
|
||||
It also checks `next-boundary-recommendations.tsv` row counts against the
|
||||
generated user-M probe-gate, tool DB probe-gate, and Python runtime-contract
|
||||
source rows, so recommendation priority handoffs cannot drift from their
|
||||
machine-readable source artifacts.
|
||||
It also checks each recommendation's `primary_artifact` and `source_artifacts`
|
||||
against the browser-visible generated artifact set, including duplicate
|
||||
detection, primary-artifact traceability, and exact per-family source artifact
|
||||
sets, while keeping execution and promotion disabled. The Node coverage gate
|
||||
also confirms the browser recommendation source-artifact check uses the same
|
||||
`wasmArtifactNames` returned by the artifact documentation coverage helper.
|
||||
It also fetches the compatibility, matrix, and full-process boundary docs in
|
||||
browser smoke and checks the documented artifact names/tokens for the generated
|
||||
WASM inventory TSVs and native TSVs. The same browser check fetches those TSV
|
||||
artifacts, requires a non-empty TSV header, and verifies the expected
|
||||
artifact/token lists are duplicate-free with fixed counts, mirroring the Node
|
||||
documentation coverage gate without executing native runtime probes. The native
|
||||
`build/native/sim-configs/skipped.tsv` artifact is allowed to be empty when the
|
||||
native strict sim-config baseline has no skipped rows.
|
||||
The same Node inventory run also checks generated artifact documentation
|
||||
coverage: every TSV emitted under
|
||||
`build/wasm/sim-configs-inventory/` must be named in
|
||||
`compatibility-validation.md`, `sim-configs-coverage-matrix.md`, or
|
||||
`full-process-boundary-design.md`. New gate artifacts must therefore be
|
||||
documented before the inventory can pass.
|
||||
The Node coverage gate also requires the generated WASM inventory artifact list
|
||||
to remain the exact duplicate-free 54-entry baseline and the native generated
|
||||
TSV token list to remain the exact duplicate-free 8-token baseline. It also
|
||||
requires the corresponding `boundary-phase-completion-summary.tsv`
|
||||
documentation-coverage counts to remain `54` and `8`, respectively. It also
|
||||
checks that the browser smoke source lists the same generated WASM and native
|
||||
artifact tokens and preserves the same fixed-count, duplicate-free,
|
||||
fetchability/header, documentation-missing, and completion count-parity guards
|
||||
before browser-side artifact coverage can pass. It also checks that browser
|
||||
smoke actually executes the artifact documentation coverage helper, fetches
|
||||
each generated WASM artifact by artifact name, fetches each native TSV by
|
||||
relative artifact token, calls the completion count-parity helper with the
|
||||
generated completion rows, still fetches and joins the exact compatibility,
|
||||
matrix, and full-process boundary review-document set for that coverage check
|
||||
before checking for missing artifact references, requires the browser
|
||||
missing-reference loops to iterate `wasmArtifactNames` and
|
||||
`nativeArtifactTokens` against that joined `documentationText`, keeps
|
||||
completion evidence reviewable for browser count parity, binds the
|
||||
documentation-coverage completion counts to the returned `wasmArtifactNames`
|
||||
and `nativeArtifactTokens` arrays, and preserves the native skipped-artifact
|
||||
empty allowance for `build/native/sim-configs/skipped.tsv`.
|
||||
Native generated TSVs under `build/native/` are checked the same way by their
|
||||
relative artifact path. This catches native baseline/source-proof/runtime-probe
|
||||
artifacts that are generated but not described in the compatibility, coverage,
|
||||
or full-process boundary documentation.
|
||||
It also checks native source proof consistency: the native source proof
|
||||
alignment rows, native runtime probe summary, and runtime probe gate alignment
|
||||
must cover the same blocked classes and agree that source proof is ready while
|
||||
execution and promotion remain disabled.
|
||||
`user-m-process-state-targets.tsv` expands the `millturn` M128/M129 process
|
||||
boundary into per-pin proof targets: two user-M codes, three axes, and four
|
||||
`ini.[xyz]` HAL pins per axis. Each row records the source Tcl file, remap
|
||||
@@ -302,6 +458,10 @@ keeping `proof_status=pending`, `execution_enabled=0`, and
|
||||
vendored `DB_PROGRAM`, drives the LinuxCNC `tooldb.py` `v2.1`/`g`/`p`/`l`/`u`
|
||||
protocol, verifies nonrandom startup/update/load/unload state and persistence,
|
||||
and reports `runtime_protocol_probe_passed` without enabling promotion.
|
||||
`tool-db-process-native-runtime-probe-gate.tsv` combines the DB source proof
|
||||
and host readiness into the execution gate for that guarded native probe. It
|
||||
records `runtime_ready`, missing requirements, source proof readiness, and the
|
||||
non-promoting gate status before any manual opt-in run is allowed.
|
||||
`python-remap-boundary-summary.tsv` is the machine-readable companion for the
|
||||
Python remap inventory batch. It has one inventory-only row for each
|
||||
`L4-PYTHON-REMAP` path, records Python modules, remap/prolog/epilog functions,
|
||||
@@ -323,6 +483,11 @@ prerequisites for guarded probes by family: `python3`, `linuxcnc`,
|
||||
LinuxCNC's `interp_python.cc` / `python_plugin.cc` owner source files, and the
|
||||
configured Python modules. It is a readiness gate only and keeps every row
|
||||
`proof_status=pending`, `execution_enabled=0`, and `promotion_allowed=0`.
|
||||
`python-remap-native-runtime-probe-gate.tsv` combines the selected Python
|
||||
runtime fixture, source proof, and host readiness into the execution gate for
|
||||
the guarded native lifecycle probe. It remains non-executing and
|
||||
non-promoting until `linuxcnc` is available and the dispatch gate permits the
|
||||
manual opt-in probe.
|
||||
`python-remap-native-runtime-state-plan.tsv` records the next native runtime
|
||||
probe target set by family: LinuxCNC Python phases, configured modules,
|
||||
callables, NGC-only subpaths, process assumptions, readiness counts, and
|
||||
@@ -352,6 +517,50 @@ disabled, and proof that blocked runtime families carry LinuxCNC-owned user-M,
|
||||
tool DB, and Python runtime evidence fields. It also records native source
|
||||
proof alignment when the native proof summary is available, plus the aggregate
|
||||
native stdout alignment summary for user-M, tool DB, and Python runtime gates.
|
||||
The same completion summary now includes documentation-coverage criteria for
|
||||
generated WASM sim-config inventory TSV artifacts and native generated TSV
|
||||
artifacts, so artifact generation and review documentation stay in lockstep.
|
||||
It also exposes 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 completion criteria, so review
|
||||
can see those gates without reopening every individual TSV. The family
|
||||
contract/alignment guard checks that the user-M, tool DB, and Python-specific
|
||||
contract, readiness, probe-gate, and fixture/state-plan artifacts agree with
|
||||
`runtime-boundary-contract-summary.tsv` and
|
||||
`runtime-boundary-native-alignment-summary.tsv` while keeping execution and
|
||||
promotion disabled.
|
||||
The browser smoke consumes the same `boundary-phase-completion-summary.tsv`
|
||||
criterion list and fails on criterion drift. This is a browser-side parity
|
||||
check for generated gate artifacts only; it does not execute blocked native
|
||||
runtime probes or allow promotion.
|
||||
The browser smoke also checks that `runtime-boundary-contract-summary.tsv`
|
||||
points at the same runtime alignment artifact, row count, boundary kind, and
|
||||
disabled execution/promotion state reported by
|
||||
`runtime-boundary-native-alignment-summary.tsv`.
|
||||
It also cross-checks `native-proof-alignment-summary.tsv`,
|
||||
`native-runtime-probe-summary.tsv`, and `runtime-probe-gate-alignment.tsv` so
|
||||
browser validation sees the same source-proof readiness, runtime readiness,
|
||||
required native proof, target, and disabled execution/promotion state as the
|
||||
Node inventory.
|
||||
The browser smoke also cross-checks `native-runtime-probe-execution-plan.tsv`,
|
||||
`native-runtime-probe-pass-evidence-contract.tsv`,
|
||||
`runtime-boundary-host-preflight.tsv`,
|
||||
`runtime-boundary-opt-in-probe-dispatch-plan.tsv`, and
|
||||
`runtime-boundary-opt-in-probe-skip-evidence-contract.tsv`, keeping the
|
||||
current host-blocked probe status, missing requirements, opt-in command,
|
||||
evidence status, and disabled execution/promotion state aligned.
|
||||
It also checks the host requirement summary and unblock plan against family
|
||||
host-readiness and preflight rows, including unavailable requirement
|
||||
ownership, available prerequisite ownership, opt-in environment variables, and
|
||||
execution command traceability.
|
||||
It also cross-checks `runtime-boundary-host-readiness-rollup.tsv`,
|
||||
`runtime-boundary-opt-in-probe-dispatch-rollup.tsv`, and
|
||||
`runtime-boundary-opt-in-probe-skip-evidence-rollup.tsv` for family/probe
|
||||
counts, blocked families, missing requirements, blocked opt-in commands,
|
||||
host/dispatch/evidence status, and disabled execution/promotion parity.
|
||||
`native-proof-alignment-summary.tsv` aligns native source proof rows with the
|
||||
generated worklist and native proof gates for user-M, tool DB, and Python
|
||||
runtime blockers. It is proof-consumption accounting only and keeps execution
|
||||
|
||||
Reference in New Issue
Block a user