CP-4 / Phase 8A: slogdet vs cholesky A/B driver + RAL results — FAIL as pre-registered - #158
Merged
Conversation
…ot run) Prepares the pre-registered Phase 8A experiment: does the opt-in Settings(log_det_method="slogdet") from PyAutoArray#391 remove the free-AdaptSplit NaN wall without moving the target? Pre-registered pass criteria, stated verbatim in every header: 1. zero slogdet NaNs on the replay set 2. value equality within float tolerance on PD points 3. finite gradients 4. runtime within 2x Two findings the design had to absorb: * THERE ARE NO RECORDED REJECTED DRAWS. The pre-registration says "replay the recorded rejected draws"; nothing in this repo persists a parameter vector at the moment a likelihood NaN'd (hazard records are probe grids, the 335003-5 harvest is counters, PyAutoFit's search_internal is deleted on completion). The driver therefore has a harvest stage that generates the replay set once and writes it to disk, so later phases replay the same draws instead of re-deriving their own. * THE knn CELL IS NOT WHERE THE WALL IS. The pre-registration names the free-AdaptSplit stressor as knn, but #117 records the KNN mesh's high-coefficient region as a finite over-regularized floor, while the NaN wall is the Delaunay mesh with the same free AdaptSplit reg — a pairing that had no model_type. Registered here as delaunay_adapt_split (diagnostic cell, not a recommendation); both sbatch scripts run both cells. Design notes: - _setup.build_ab_for_cell builds ONE dataset/model/AdaptImages and hands them to both analyses, so the arms differ in exactly one string. The artifact hashes the target block with log_det_method removed and asserts the two arms share that hash. - A cholesky arm with zero NaNs is recorded as VOID, not as four vacuous passes (the CPU tier has already measured zero value-NaN lane-steps). - Criteria 1 and 3 are scored on the treatment alone as registered; an `attribution` block records how the control did on the same draws. - Value equality is split into clean_pd and a marginal_band, because a laptop probe shows the arms agreeing to ~4e-6 away from the wall and separating by O(0.1) nats in a band just before the Cholesky fails. Not run, not submitted. ruff check / ruff format --check clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019s6eAYCjAvn7tRNetAFadP
…ID, Delaunay partial rescue, CPU 3.7x RAL 338808 (A100) + 338807 (CPU) harvested 2026-08-24. Verdict JSONs, per-draw npz and draw sets under phase_08_regularization/slogdet_ab/. slogdet: 58/90 and 53/73 NaNs rescued with zero regressions, but NaN-under- both remain, transect gradients non-finite, marginal-band delta up to 9,619 nats on A100, CPU runtime 3.74x. Not the gradient-work default; 8B promoted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EDABYoH6giHXhFJUks8yd6
…default (W8), residual NaNs to W7, library stays opt-in Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EDABYoH6giHXhFJUks8yd6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/misc/searches/slogdet_ab.py+ A100/CPU sbatch scripts (prepared 2026-08-23, run overnight on RAL: 338808 A100 29 min, 338807 CPU 5 h 37 m).results/notes/inference/phase_08_regularization/slogdet_ab/, plusRESULTS.md, a DECISIONS.md record and PROGRAMME.md row/§9 updates.Verdict
slogdet is a partial, zero-regression softener on GPU, not a fix: NaN-under-both draws remain, λ-transect gradients stay non-finite, and the two arms disagree by up to 9,619 nats (A100) in the marginal band. Not recommended as the gradient-work default; Phase 8B (log-coordinate stepping) promoted.
Notes
🤖 Generated with Claude Code
https://claude.ai/code/session_01EDABYoH6giHXhFJUks8yd6