slope-stability gate: the PROJECT'S OWN target is met for the first time — 5922 < 6026 over both sets at 193/199 with the guarantee intact (slope.ratio.derived3.project: APS 2848 + CHA 3074), CHA improves 4516 -> 2903 (x1.56), repairs 77.5% -> 55.3%. Honest cost: APS 2806 -> 2848, which moves us from 1st to 3rd on the canonical set (chandrupatla 2785, toms748 2820), so my stricter S1 fails while the project target passes — a positioning decision, recorded not resolved. Refusal CURRENCY is what decides: bracket progress 4449 vs model shape 2848, a 1601-evaluation difference for the same 'refuse before the step' idea
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+22
-2
@@ -125,7 +125,9 @@ def label(spec):
|
||||
if len(spec) > 4 and spec[4] != "x":
|
||||
tag = spec[4]
|
||||
if len(spec) > 5 and spec[5] != "none":
|
||||
tag = f"{tag}+gate" if tag != "pure" else "gate"
|
||||
# name the gate by WHICH gate it is: "progress" is a measured negative and must
|
||||
# never be confused with "slope" in a results file
|
||||
tag = f"{tag}+{spec[5]}" if tag != "pure" else spec[5]
|
||||
return f"{tag}.{spec[1]}.{spec[2]}.{spec[3]}"
|
||||
|
||||
|
||||
@@ -189,6 +191,15 @@ def build_grid_log(smoke):
|
||||
for sim in sims for sc in ("derived", "derived3") for gu in guards]
|
||||
|
||||
|
||||
def build_grid_slope(smoke):
|
||||
"""The slope-stability gate grid (PREREG 2026-09-21). Only derived scales: there must be
|
||||
a slope to judge. Baselines are not recomputed — they are in sweep_full.json."""
|
||||
sims = ["ratio", "sqrt"] if smoke else sorted(PURE_SIMS)
|
||||
guards = ("credit", "safe") if smoke else GUARD_MODES
|
||||
return [("pure", sim, sc, gu, "x", "slope")
|
||||
for sim in sims for sc in ("derived", "derived3") for gu in guards]
|
||||
|
||||
|
||||
def build_grid_gate(smoke):
|
||||
"""The pre-step gate grid (PREREG 2026-09-21): the published x-space step with the
|
||||
gate switched on. Baselines are not recomputed - they are already in sweep_full.json."""
|
||||
@@ -219,7 +230,9 @@ def main():
|
||||
smoke = "--smoke" in sys.argv
|
||||
logmode = "--log" in sys.argv # the u-space grid, written to its OWN file
|
||||
gatemode = "--gate" in sys.argv # the pre-step gate grid, likewise
|
||||
specs = (build_grid_gate(smoke) if gatemode else
|
||||
slopemode = "--slope" in sys.argv # the slope-stability gate grid
|
||||
specs = (build_grid_slope(smoke) if slopemode else
|
||||
build_grid_gate(smoke) if gatemode else
|
||||
build_grid_log(smoke) if logmode else build_grid(smoke))
|
||||
t0 = time.time()
|
||||
print(f"sweep: {len(specs)} configurations x 199 problems "
|
||||
@@ -236,6 +249,13 @@ 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 slopemode:
|
||||
out = "sweep_slope_smoke.json" if smoke else "sweep_slope.json"
|
||||
with open(out, "w", encoding="utf8") as fh:
|
||||
json.dump(results, fh)
|
||||
print(f"\nwrote {out} ({time.time() - t0:.0f}s total)\n", flush=True)
|
||||
report(results)
|
||||
return
|
||||
if gatemode:
|
||||
# never into sweep_full.json: that file is what verify_article.py checks the
|
||||
# paper against, and the smoke run of 2026-09-21 did land in sweep_smoke.json
|
||||
|
||||
Reference in New Issue
Block a user