Record native XYZAC oracle blocker

This commit is contained in:
2026-08-31 09:48:09 +08:00
parent b564792452
commit 18436149a2
4 changed files with 18 additions and 8 deletions

View File

@@ -223,6 +223,10 @@ def run(duration: float) -> dict[str, Any]:
source_bytes = PROGRAM.read_bytes()
trace_hash = sha256_bytes(canonical(rows).encode())
python_module = getattr(linuxcnc, "__file__", None)
source_python_module = str(ROOT / "linuxcnc/lib/python/linuxcnc.so")
if python_module != source_python_module:
errors.append("NATIVE_PYTHON_MODULE_MISMATCH")
status = "verified" if rows and not errors else "blocked"
return {
"schema": SCHEMA,
@@ -231,7 +235,7 @@ def run(duration: float) -> dict[str, Any]:
"launcher": command,
"native_axis_window": window,
"program": {"path": PROGRAM.relative_to(ROOT).as_posix(), "sha256": sha256_bytes(source_bytes)},
"native_linuxcnc": {"python_module": getattr(linuxcnc, "__file__", None), "display": environment["DISPLAY"]},
"native_linuxcnc": {"python_module": python_module, "expected_source_python_module": source_python_module, "display": environment["DISPLAY"]},
"tick_source": "linuxcnc.stat.taskbeat",
"rows": rows,
"row_count": len(rows),
@@ -243,6 +247,7 @@ def run(duration: float) -> dict[str, Any]:
"known_boundaries": [
"native stat exposes motion_id but not full TP segment geometry; active_segment_geometry is explicit null",
"taskbeat is the public native task-cycle counter; wall-clock is recorded only as diagnostic elapsed_ms",
"source run-in-place launcher and installed Python extension must use the same LinuxCNC build; mismatch is blocked",
"this report is an oracle input and does not claim native/WASM parity by itself",
],
"release_status": "STOP_RELEASE",