summaryrefslogtreecommitdiff
path: root/src/GNUmakefile
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-10-14 12:19:02 -0700
committerScott Gasch <[email protected]>2026-10-14 12:19:02 -0700
commit78a5ea00ec507164e1cfc7fd12846e1b05d78e7e (patch)
tree4c35bc24c59fdc5f30389db371b732da3b376d70 /src/GNUmakefile
parentac5cc078b71e94b21a8a843628045c745022aa75 (diff)
Remove PRUNE_LIVE -- never wired to anything, and separately broken
PRUNE_LIVE=<K> was meant to actually prune moves below a predicted-FH threshold for branching-factor measurement, but PruneLivePredict (the macro alias for search.c's PruneVerifyPredict) was never called from anywhere -- confirmed by grep: its only two references in the file are its own #define and declaration. The wiring to make PRUNE_LIVE=<K> actually prune a move was never written, so this flag has done nothing even in builds where it compiled. It also didn't compile on its own: PruneVerifyPredict returns g_uJointFHThousandths[...]'s element as ULONG, but that array is declared USHORT in data.c (confirmed pre-existing in the prior PRUNE_VERIFY-removal commit, unrelated to that change). Removed the entire #ifdef PRUNE_LIVE block in search.c (verified every symbol inside it -- ShipDepthBucketPublic, JOINT_TABLE_SENTINEL_PUBLIC, ShipLateBucketPublic, PruneVerifyPredict, PRUNE_LIVE_SENTINEL, PruneLivePredict -- has no consumer anywhere outside that block) and GNUmakefile's flag wiring, leaving an explanatory comment. Verified: standard profile builds clean, precommit_check.sh passes. Co-Authored-By: Claude Sonnet 5 <[email protected]>
Diffstat (limited to 'src/GNUmakefile')
-rw-r--r--src/GNUmakefile23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/GNUmakefile b/src/GNUmakefile
index c625fa6..49582a5 100644
--- a/src/GNUmakefile
+++ b/src/GNUmakefile
@@ -253,15 +253,16 @@ endif
# removed rather than fixed since reconstructing its intended semantics
# from scratch would be inventing behavior, not restoring it.
-# 2026-10-03: PRUNE_LIVE=<K> -- actually prune any gate-1-eligible move
-# whose 4D-table predicted FH% (Wilson upper bound, see data.c) is <= K
-# thousandths of a percent. Measurement vehicle for "what does pruning
-# N% of moves do to the branching factor", used with the C/r sweep in
-# /tmp/typhoon/cr_measure. NOT a shipping mechanism: it has none of the
-# agreed safety furniture (no dynamic per-move-identity veto, no
-# ShouldLatePrune move-count floor, no shadow verification) -- those are
-# what a real deep-prune gate needs. Measure with it, do not play with
-# it.
+# 2026-10-03: PRUNE_LIVE=<K> was removed (2026-10-14): PruneLivePredict/
+# PRUNE_LIVE_SENTINEL (search.c) were never actually called from
+# anywhere, under any flag -- the wiring to make PRUNE_LIVE=<K> actually
+# prune a move was never written, so this flag has never done anything
+# even when it compiled. It also didn't compile: PruneVerifyPredict
+# (the function PruneLivePredict aliased to) returns
+# g_uJointFHThousandths[...]'s element as ULONG, but that array is
+# declared USHORT in data.c -- confirmed pre-existing, unrelated to
+# PRUNE_VERIFY's own removal above. Dead on every axis; removed rather
+# than fixed for the same reason as PRUNE_VERIFY.
# 2026-10-03: DISABLE_LMR -- GetLMRReduction returns 0 unconditionally,
# so no move is ever reduced. Exists for ONE experiment: what is LMR
# actually worth in this engine? The time-odds calibration established
@@ -279,10 +280,6 @@ ifdef DISABLE_LMR
PROFILE += -DDISABLE_LMR
endif
-ifdef PRUNE_LIVE
-PROFILE += -DPRUNE_LIVE=$(PRUNE_LIVE)
-endif
-
# 2026-10-13: override search.c's NULLMOVE_SKIP_FH_CEILING_THOUSANDTHS
# default (300, validated -- see search.c's own comment) from the
# command line for sweeping, e.g. `gmake ... NULLMOVE_SKIP_CEILING=1000`