passages: smooth 12 m lower-mouth radius taper; all four-strate passages pass (L68, v213)

The FI->TN wall beat (4.77 cm at 7.06 m) was the lower-mouth flare: the full mouth radius
was assigned to the penultimate control point, a one-segment radius jump. The shared route
builder now blends to the mouth radius over 12 m with a smoothstep. Wall ripple 1-2:
7.27 -> 1.62 cm. All three passages pass support/blocked/grade/ripple/naturalness; controls
detected. Fast tier 269/269 incl. the new-plan stage; W1/W8/W12 equal, Clang and GCC.
Hash pins: FI style 2 re-pinned at v213.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-27 03:17:27 +01:00
1 parent 087333bf8a
commit bd7bba994c
10 files changed
+677 -12

No files matched your search

+15 -10
View File
@@ -30,6 +30,7 @@ LINUX56 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux56"
LINUX58 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux58"
LINUX60 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux60"
LINUX67 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux67"
LINUX68 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux68"
OWNER = ROOT / "Standalone/data/regression/owner_world_2strate_l61.json"
OWNER_NEW = ROOT / "Standalone/data/owner_world.json"
OWNER_2STRATE_SHA256 = "7b095f9bcc6b90133d5a463f99f0b571133b2c549ce1ecf2d64fe9175e41e183"
@@ -101,6 +102,16 @@ RECIPE_RE = re.compile(
r"^\[WorldAssemblerRecipeAudit\] requested=([^ ]+) actual=([^ ]+).*status=([^ ]+)$", re.M)
def owner_hash_baseline(recipe: str, style: int) -> tuple[Path, str]:
if recipe == "surface-world" and style == 1:
return (LINUX67 / "hash-baselines" / "owner-hash-surface-world-style1-v212.log",
"L67-v212")
if recipe == "floating-islands" and style == 2:
return (LINUX68 / "hash-baselines" / "owner-hash-floating-islands-style2-v213.log",
"L68-v213")
raise VerificationFailure(f"no pinned owner hash baseline for {recipe} style {style}")
def compiler_name(binary: Path) -> str:
return "gcc" if "gcc" in binary.name else "clang"
@@ -624,13 +635,7 @@ def run_hash_pairs(runner: VerificationRunner,
l52_baseline = ROOT / "Saved/Linux/l52" / f"owner-hash-{recipe}-style{style}-w12.log"
l52_hashes = tuple(HASH_RE.findall(l52_baseline.read_text(
encoding="utf-8", errors="replace")))
if recipe == "surface-world":
expected_baseline = LINUX67 / "hash-baselines" / (
"owner-hash-surface-world-style1-v212.log")
expected_label = "L67-v212"
else:
expected_baseline = l52_baseline
expected_label = "L52"
expected_baseline, expected_label = owner_hash_baseline(recipe, style)
expected_hashes = tuple(HASH_RE.findall(expected_baseline.read_text(
encoding="utf-8", errors="replace")))
same_expected = hashes[12] == expected_hashes and len(expected_hashes) == 12
@@ -674,11 +679,11 @@ def run_default_profile_identity(runner: VerificationRunner, binary: Path) -> No
expected_style=2, expected_strate_styles={"0": 2, "1": 1}, workers=12,
layout_path=OUT / "layouts" / f"{name}.json")
values = tuple(HASH_RE.findall(output))
baseline = ROOT / "Saved/Linux/l52" / f"owner-hash-{recipe}-style{style}-w12.log"
baseline, label = owner_hash_baseline(recipe, style)
expected = tuple(HASH_RE.findall(baseline.read_text(
encoding="utf-8", errors="replace")))
runner.require(f"{name}:matches-L52", len(values) == 12 and values == expected,
f"current={len(values)} L52={len(expected)} exact canonical hash rows")
runner.require(f"{name}:matches-{label}", len(values) == 12 and values == expected,
f"current={len(values)} {label}={len(expected)} exact canonical hash rows")
class _SplitMix64: