Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux82/RunL82OwnerPassageAudit.py
T
Fr0zkaandClaude Opus 5.5 f572108dc4 passages: exact relief skip + per-tile BVH node masks (L82); FI/TN LOD0-2 -12%
- Wall relief noise is skipped when its hard-bounded contribution cannot change the final max;
  mouth surface/tread noise only on paths that use it.
- Exact active BVH-node masks cached per tile/passage/segment range; no per-sample lower_bound.
- Full-view audit imports the exported Core plan (not the stale 26-point root route): 21,425/21,425
  walkability samples pass.
Cold (L80 protocol, medians) LOD0-2: SW 1.16->1.11, FI 2.86->2.51, TN 2.88->2.54, VS 1.23->1.22 s.
Passage share FI 64.6->58.7%, TN 65.4->58.4%. Hashes identical (v214). TN "slowdown" from L81
not reproduced (5 pairs, 3.08 -> 2.75 s). Fast tier PASS; Linux UE host builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
2026-10-27 23:46:15 +01:00

63 lines
2.8 KiB
Python

#!/usr/bin/env python3
"""Run the full-view surface-world passage validation against resolved routes."""
from __future__ import annotations
import json
import re
import subprocess
import time
from pathlib import Path
ROOT = Path(__file__).resolve().parents[4]
OUT = ROOT / "Saved/Linux/l82/audits"
DATA = ROOT / "Standalone/data/owner_world.json"
BINARY = ROOT / "Saved/Linux/l82/bin/VoxelForgeCoreHeadless-clang19"
RECIPE = re.compile(r"^\[WorldAssemblerRecipeAudit\] requested=surface-world "
r"actual=surface-world .*status=PASS$", re.M)
WALK = re.compile(r"^\[Walkability\] PASS source=resolved_core_layout (\d+)/(\d+) "
r"compiled Core passage centerline samples remain open$", re.M)
AUDIT = re.compile(r"^\[ResolvedPassageAudit\].*walkability=PASS$", re.M)
SUMMARY = re.compile(r"^\[ResolvedPassageAuditSummary\].*status=PASS$", re.M)
def main() -> int:
OUT.mkdir(parents=True, exist_ok=True)
log = OUT / "owner-surface-world-full.log"
command = [
"taskset", "-c", "0-11", "prlimit", "--as=6442450944", "--",
"env", "VOXELFORGE_L81_PASSAGE_BOUND_PADDING_VOXELS=0", "timeout", "1740s",
str(BINARY), str(DATA), "--workers=12", "--world-assembler-prototype",
"--stream-benchmark", "--stream-pipeline", "--force-generate", "--clip-radius=3",
"--max-clip-level=8", "--max-level=-1",
"--audit-resolved-layout-passages",
]
start = time.monotonic()
with log.open("w", encoding="utf-8") as stream:
result = subprocess.run(command, cwd=ROOT, stdout=stream,
stderr=subprocess.STDOUT, check=False, timeout=1740)
output = log.read_text(encoding="utf-8", errors="replace")
walk = WALK.search(output)
rows = {
"exit_code": result.returncode,
"wall_s": round(time.monotonic() - start, 3),
"recipe_pass": RECIPE.search(output) is not None,
"canonical_walkability_pass": walk is not None,
"canonical_center_samples": int(walk.group(2)) if walk else 0,
"resolved_audit_passages": len(AUDIT.findall(output)),
"resolved_audit_summary_pass": SUMMARY.search(output) is not None,
"legacy_root_route_failure": "[WalkabilityRoute] passage=" in output,
"log": str(log.relative_to(ROOT)),
}
(OUT / "summary.json").write_text(json.dumps(rows, indent=2) + "\n",
encoding="utf-8")
print("[L82OwnerPassageAudit] " + json.dumps(rows, sort_keys=True), flush=True)
return 0 if (result.returncode == 0 and rows["recipe_pass"]
and rows["canonical_walkability_pass"]
and rows["resolved_audit_passages"] > 0
and rows["resolved_audit_summary_pass"]
and not rows["legacy_root_route_failure"]) else 1
if __name__ == "__main__":
raise SystemExit(main())