PREREG_flat_twice outcome: stage 1 passed (twice-in-a-row fires on 27.8% of model steps on the flat families, 8.7% on APS, 4.3% on fun1; flat/APS ratio 3.20 against the single flag's 2.47), stage 2 FAILED: under the projection APS 2806 -> 2803 (W2 holds, the per-problem edge over Chandrupatla kept at 83/28/42) but CHA 3220 -> 3341 and the flat families 1823 -> 1975 (W1, W4 fail); with G2 the same. Under safe/step the twice gate is inert (3390 -> 3388) where the single one gave 3037.
Mechanism: the flat cycle is undershoot, undershoot, crossing, near-empty step. The single flag fires after the first undershoot and replaces the second - a useless step; the twice flag fires after the second and replaces the CROSSING, the one step of the cycle that collapses the bracket. The second undershoot's r is ~0.26, next to the 1/4 threshold, so the pair often does not even form. Again a detectability gain that did not carry to run cost. Next candidate (not pre-registered): the unkept promise AND a creep - the same step moving the same way as the previous one. Removed a vacuous pin I had written (s2 <= max(s1, s2)). Regression on the branch: 935 pass twice; the only red test is the paper-number check. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+11
-8
@@ -219,24 +219,24 @@ def _preflight_extrap_mode():
|
||||
raise SystemExit("extrapolate preflight FAILED: refusing to report zeros")
|
||||
|
||||
|
||||
def build_grid_flat(smoke):
|
||||
def build_grid_flat(smoke, gate="flat"):
|
||||
"""PREREG_flat_regime_2026-09-21 stage 2: the flat gate (prestep='flat') in pairs,
|
||||
on the proposed rule and on the proposed rule with G2 (extrapolate='pattern')."""
|
||||
x, _n, ok = pure_root(lambda t: t - 1.0, 0.0, 3.0, 1e-10, 100, similarity="ratio",
|
||||
scale="derived3", guard="project", prestep="flat")
|
||||
scale="derived3", guard="project", prestep=gate)
|
||||
if not (ok and abs(x - 1.0) < 1e-8):
|
||||
raise SystemExit("prestep=flat preflight FAILED: refusing to report zeros")
|
||||
raise SystemExit(f"prestep={gate} preflight FAILED: refusing to report zeros")
|
||||
guards = ("project", "credit") if smoke else GUARD_MODES
|
||||
specs = []
|
||||
for gu in guards:
|
||||
for ext in ("none", "pattern"):
|
||||
for pre in ("none", "flat"):
|
||||
for pre in ("none", gate):
|
||||
specs.append(("pure", "ratio", "derived3", gu, "x", pre, "recent",
|
||||
"distance", "none", ext))
|
||||
sims = ["sqrt"] if smoke else [s for s in sorted(PURE_SIMS) if s != "ratio"]
|
||||
for sim in sims:
|
||||
for gu in guards:
|
||||
for pre in ("none", "flat"):
|
||||
for pre in ("none", gate):
|
||||
specs.append(("pure", sim, "derived3", gu, "x", pre, "recent",
|
||||
"distance", "none", "none"))
|
||||
return specs
|
||||
@@ -412,10 +412,12 @@ def main():
|
||||
extmode = "--extrap" in sys.argv # A in the method: step extrapolation
|
||||
ext2mode = "--extrap2" in sys.argv # gates G1-G3 on the lengthening
|
||||
flatmode = "--flat" in sys.argv # the flat-regime gate
|
||||
flat2mode = "--flat2" in sys.argv # the flat gate, promise failed twice
|
||||
combomode = "--combo" in sys.argv # modes A and B together
|
||||
pointsmode = "--points" in sys.argv # mode A: triple by shape
|
||||
dirmode = "--direction" in sys.argv # mode B: far end by dissimilarity
|
||||
specs = (build_grid_flat(smoke) if flatmode else
|
||||
specs = (build_grid_flat(smoke, "flat2") if flat2mode else
|
||||
build_grid_flat(smoke) if flatmode else
|
||||
build_grid_extrap2(smoke) if ext2mode else
|
||||
build_grid_extrap(smoke) if extmode else
|
||||
build_grid_decision(smoke) if decmode else
|
||||
@@ -442,8 +444,9 @@ def main():
|
||||
|
||||
# the published sweep_full.json is what verify_article.py checks the paper
|
||||
# against, so the log grid never writes into it
|
||||
if flatmode or ext2mode or extmode or decmode or ordermode or capmode or combomode or pointsmode or dirmode:
|
||||
base = ("sweep_flat" if flatmode else
|
||||
if flat2mode or flatmode or ext2mode or extmode or decmode or ordermode or capmode or combomode or pointsmode or dirmode:
|
||||
base = ("sweep_flat2" if flat2mode else
|
||||
"sweep_flat" if flatmode else
|
||||
"sweep_extrap2" if ext2mode else
|
||||
"sweep_extrap" if extmode else
|
||||
"sweep_decision" if decmode else
|
||||
|
||||
Reference in New Issue
Block a user