PREREG_flat_order_point outcome: ACCEPTED, and the GOAL is reached - below Chandrupatla on BOTH sets (server numbers, all projection cells equal to the smoke).

Splitting in the flat regime at the point from the analogous pair's order (t = |FA|^(1/m) / (|FA|^(1/m) + |FB|^(1/m))) instead of the midpoint:
  G2 + analogy + order point         APS 2780  CHA 2221  both 5001   (P1-P4 all hold; vs Chandrupatla 2787 / 2441 / 5228)
  G2 + contra + remembered + point   APS 2775  CHA 2119  both 4894   (P3 fails by 2 against its midpoint twin)
  defect + remembered + point        APS 2532  CHA 2164  both 4696   (P3 fails by 2)
Flat fun3-6: 1234 -> 847 (analogy), 1151 -> 743 (remembered) - below pure bisection 1044 and Chandrupatla 1068.
Per problem on the wide set vs Chandrupatla now 20-24 wins / 13-17 losses (p 0.1-0.7, not significant); on the canonical set the edge is kept (95/20/38 p=8e-7).
Guarantee: 0 violations and >= 193 solved in every project/safe/credit cell.
Server regression x2: 1150 passed, 1 failed = the paper-number check.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
vvs
2026-09-21 18:13:10 +01:00
co-authored by Claude Opus 5
parent d1be3bbd05
commit 08863c170c
8 changed files with 156 additions and 19 deletions
+25 -3
View File
@@ -266,6 +266,25 @@ def build_grid_defcontra(smoke):
for gu in guards for ext in ("none", "pattern") for pre in DEFCONTRA_PRESTEPS]
ORDERPT_PRESTEPS = (
"none", "flatanalog", "flatanalogpt", "flatanalogmem", "flatanalogmempt",
"defect+flatanalogmem", "defect+flatanalogmempt",
"contra+flatanalogmem", "contra+flatanalogmempt")
def build_grid_orderpt(smoke):
"""PREREG_flat_order_point_2026-09-21: midpoint / point-from-order twins with the same
entry, on the proposed rule with and without G2."""
for pre in ORDERPT_PRESTEPS[1:]:
x, _n, ok = pure_root(lambda t: t - 1.0, 0.0, 3.0, 1e-10, 100, similarity="ratio",
scale="derived3", guard="project", prestep=pre)
if not (ok and abs(x - 1.0) < 1e-8):
raise SystemExit(f"prestep={pre} preflight FAILED: refusing to report zeros")
guards = ("project", "credit") if smoke else GUARD_MODES
return [("pure", "ratio", "derived3", gu, "x", pre, "recent", "distance", "none", ext)
for gu in guards for ext in ("none", "pattern") for pre in ORDERPT_PRESTEPS]
def build_grid_extrap2(smoke):
"""PREREG_extrapolation_gates_2026-09-21: the same cells as build_grid_extrap, every
one in all five modes (none, A, G1, G2, G3)."""
@@ -444,10 +463,12 @@ def main():
analogmode = "--flatanalog" in sys.argv # entry by analogy with the run's own past
memmode = "--flatanalogmem" in sys.argv # the analogy remembered as a property of the run
dcmode = "--defcontra" in sys.argv # defect x contra x flat regime, composites
ptmode = "--orderpt" in sys.argv # split at the point from the pair's order
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_defcontra(smoke) if dcmode else
specs = (build_grid_orderpt(smoke) if ptmode else
build_grid_defcontra(smoke) if dcmode else
build_grid_flat(smoke, ("flatanalogmem", "flatanalog")) if memmode else
build_grid_flat(smoke, ("flatanalog", "flatstickexit")) if analogmode else
build_grid_flat(smoke, ("flatjudge", "flatstickexit")) if judgemode else
@@ -482,8 +503,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 dcmode or memmode or analogmode or judgemode or exitmode or stickmode or creepmode or flat2mode or flatmode or ext2mode or extmode or decmode or ordermode or capmode or combomode or pointsmode or dirmode:
base = ("sweep_defcontra" if dcmode else
if ptmode or dcmode or memmode or analogmode or judgemode or exitmode or stickmode or creepmode or flat2mode or flatmode or ext2mode or extmode or decmode or ordermode or capmode or combomode or pointsmode or dirmode:
base = ("sweep_orderpt" if ptmode else
"sweep_defcontra" if dcmode else
"sweep_flatanalogmem" if memmode else
"sweep_flatanalog" if analogmode else
"sweep_flatjudge" if judgemode else