wip(assembler): round L19 -- strate ceilings closed at every LOD; ledges diagnosed
The shared boundary-cap path now emits a cap wherever the field is solid just below a strate's configured top (it previously required a solid-to-air crossing there) and checks a 5x5 perimeter grid before suppressing a fallback cap. Strict audit: 0 misses / 0 edge gaps, LOD0-8. farHorizonVersion 3 -> 4. SurfaceWorld LOD0-2, full detail and exact queries unchanged; 28/28 matrix plus 14/14 crossing; route parity and proofs pass. Ledges: the lower stratum's terrain at the FI/SW interface, seen through the FI void, sampled at 0.5/1/2 m at LOD1-3 (up to 1.5 m / 7.7 m ring steps). Fix deferred to the units/layers round. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CSFYgsdW8ejZSyiMf4qRSX
This commit is contained in:
1 parent
dcf0763ec5
commit
811c4b7b17
23 files changed
+698
-17
No files matched your search
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Check deterministic matrices and protected SurfaceWorld identities against L14."""
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[4]
|
||||
MATRIX = ROOT / "Saved/Linux/l19-matrix"
|
||||
CROSSING = ROOT / "Saved/Linux/l19-crossing"
|
||||
ROW = re.compile(r"^\[Pipeline(?:FullDetailHash|WholeViewHash|LODHash|ExactQueryHash)\].*$", re.M)
|
||||
LOD = re.compile(r"^\[PipelineLODHash\] lod=(\d+) .*$", re.M)
|
||||
failed = []
|
||||
|
||||
|
||||
def stable_rows(path):
|
||||
rows = ROW.findall(path.read_text(encoding="utf-8", errors="replace"))
|
||||
full = next((row for row in rows if row.startswith("[PipelineFullDetailHash]")), None)
|
||||
exact = next((row for row in rows if row.startswith("[PipelineExactQueryHash]")), None)
|
||||
lods = {int(match.group(1)): match.group(0) for match in LOD.finditer(
|
||||
path.read_text(encoding="utf-8", errors="replace"))}
|
||||
return rows, full, exact, {level: lods.get(level) for level in range(3)}
|
||||
|
||||
|
||||
for compiler in ("clang-off", "gcc-default"):
|
||||
baseline_name = "clang-off" if compiler == "clang-off" else "gcc-default"
|
||||
baseline = ROOT / f"Saved/Linux/l14-final-hash-sw-{baseline_name}-w12-r5.log"
|
||||
expected = stable_rows(baseline)
|
||||
logs = sorted(MATRIX.glob(f"surface-world-{compiler}-w*-r*.log"))
|
||||
if len(logs) != 7:
|
||||
failed.append(f"matrix {compiler}: expected 7 rows, found {len(logs)}")
|
||||
for path in logs:
|
||||
actual = stable_rows(path)
|
||||
if len(actual[0]) != 12 or actual[1:] != expected[1:]:
|
||||
failed.append(f"protected SurfaceWorld mismatch: {path.name}")
|
||||
|
||||
crossing_baseline_name = "clang" if compiler == "clang-off" else "gcc"
|
||||
crossing_baseline = ROOT / f"Saved/Linux/l14-final-crossing-24m-{crossing_baseline_name}-w12.log"
|
||||
expected_crossing = stable_rows(crossing_baseline)
|
||||
crossing_logs = sorted(CROSSING.glob(f"{compiler}-w*-r*.log"))
|
||||
if len(crossing_logs) != 7:
|
||||
failed.append(f"crossing {compiler}: expected 7 rows, found {len(crossing_logs)}")
|
||||
for path in crossing_logs:
|
||||
actual = stable_rows(path)
|
||||
if len(actual[0]) != 12 or actual[1:] != expected_crossing[1:]:
|
||||
failed.append(f"protected crossing identity mismatch: {path.name}")
|
||||
|
||||
print(f"[L19ProtectedHashGate] SurfaceWorld LOD0-2, full-detail, and exact query hashes "
|
||||
f"result={'FAIL' if failed else 'PASS'}")
|
||||
for failure in failed:
|
||||
print(f"[L19HashMismatch] {failure}")
|
||||
raise SystemExit(1 if failed else 0)
|
||||
Reference in new issue
Block a user