Ecc/meanPerAno when converting grid with inference2ile - #186
Open
jlange2010 wants to merge 1 commit into
Open
jlange2010 wants to merge 1 commit into
jlange2010 wants to merge 1 commit into
Conversation
… xml for grids/samples
oshaughn
pushed a commit
that referenced
this pull request
Sep 4, 2026
…ubic) #180 has landed, so this PR now targets rift_O4d directly rather than stacking. Three conflicts: * --interp cubic. #190 shipped the same fix independently, with a help string explaining that linear undershoots the rholm peak and biases the recovered arrival time. Took THEIRS wholesale -- it is a strict superset of the bare `choices` widening this branch carried -- and dropped mine. * The gate's per-file ledger. Both entries are needed (this branch's chooser file, #190's test_interp_choices.py); kept both. * EXPECTED_TESTS. Resolved to 95 by RUNNING collection on the merged FILES list. 64 (rift_O4d) + 31 (chooser) = 95 confirms nothing else shifted. TWO STALE CLAIMS OF MY OWN, found by reading what landed rather than only the conflict hunks: * The gate ledger entry for test_jax_tempering_chooser.py still said the chooser is "actually assigned to opts.adapt_weight_exponent" -- the contract REMOVED in cf02b9d when that write turned out to make event 1 of a batch read event 0's choice. Corrected to the return-value contract. * The --smc-puffball branch comment said smc_puffball_sample "returns post_weight uniform with temper=1.0". #180 changed that: it now reports the inv_T its ladder actually reached and a matching L^(1-inv_T) weight, and its export weights are uniform only because analyze_one REFUSES the event unless the ladder finishes at inv_T=1. Skipping the guard is still correct -- the signature still swallows `temper` in **_ignore, so the exponent is genuinely inert -- but the comment now says why, and warns against re-deriving "its weights are always uniform" from that branch. Checked the driver's automerge kept both sides rather than trusting it: #180's 2-arg fairdraw_size and both length-mismatch guards are present alongside this branch's resolve_tempering_exponent, the resolved_beta wiring at both sampler call sites, and a single _USABLE_EXPORT_ESS shared with fairdraw_indices. 65 tests pass across the two interacting files (31 chooser + 34 export). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
oshaughn
pushed a commit
that referenced
this pull request
Sep 4, 2026
Caught reading PR #186's own diff after the rift_O4d merge. I wrote "79" when 79 was current; merging #180 (64) plus this branch's chooser took the floor to 95 and left my own note stale -- the same failure the note itself documents, one revision later. Also records where the count came from (27 -> 48 -> 64 via #180 -> 95 here, with #190's test_interp_choices.py along the way) and re-measures the wall time on the host it was actually run on (859 s, ldas-pcdev11, 16 cores), so the 60-minute timeout is justified against a current number rather than a stale one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
oshaughn
pushed a commit
that referenced
this pull request
Sep 4, 2026
…han assumed)
No conflicts this time. A clean automerge is not evidence the semantics
survived, though -- both sides had touched .travis/test-jax.sh and ci.yml -- so
checked explicitly:
* this branch: resolve_tempering_exponent, the resolved_beta wiring at both
sampler call sites, and the --smc-puffball no-op notice are all present.
* upstream: #180's 2-arg fairdraw_size and length-mismatch guard, and
TIME_INTERP_CHOICES from the stencil-validation work, are all present.
* manifest: 12 gated files + 2 explicitly excluded, every test_*.py in
test/jax accounted for, and collection returns exactly 95 -- so
EXPECTED_TESTS=95 and the ci.yml cost note both remain correct rather than
silently becoming a floor that no longer describes the suite.
Nothing to change; recording the checks because "the merge was clean" has not
been a sufficient answer at any point in this branch's history.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
oshaughn
pushed a commit
that referenced
this pull request
Sep 4, 2026
CI failed with "test_jax_stencil_parity.py is neither gated nor explicitly excluded". That file is NOT from this PR: PR #193 (the JAX sinc stencil) landed it on rift_O4d minutes ago WITHOUT a manifest entry, so rift_O4d currently fails its own jax-ile-check -- verified by walking every test_*.py on the base against its FILES and EXCLUDED lists, where it is the only unlisted one. This PR merely inherited it. Fixed here rather than waited on, since this branch already owns that manifest: added to FILES with a ledger entry recording what it covers and that it arrived unlisted. If #193 lands the same fix the conflict is one line. WHY MY LOCAL GATE WAS GREEN AT 109 AND CI RED. The local run tested this branch alone; CI tests the branch MERGED WITH THE BASE, and the file only exists on the base. A green local gate is evidence about a combination that will never ship -- which is exactly the failure mode the manifest check exists to catch, working as intended, just not on the PR that caused it. Checked the automerge kept both sides rather than trusting it: this branch's export_ess_estimate, _ADAPT_ADAPT_MODES, the _match_long_opt canonicalisation and the EXPERIMENTAL labelling are all present, as is #193's sinc gatherer. EXPECTED_TESTS 109 -> 133 and both ci.yml cost notes, by collection. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
oshaughn
pushed a commit
that referenced
this pull request
Sep 4, 2026
…eight_chooser
Merging on RO's direction ("For 186, merge"), after the final review pass.
State at merge:
jax-ile-check PASS -- 139 collected, 0 skipped, 0 failures, 0 errors
all other checks PASS
The one red check, "Dispatch exact RIFT PR generation", is the private
review coordinator returning HTTP 503. The tailnet leg connects and the
service answers; it is simply unavailable. It is a review side-channel,
not a correctness gate, and it is unrelated to this branch's code.
What this ships, and its limits. The chooser sets the JAX tempering
exponent from the EXPORT budget, not from the SNR: the historical
non-JAX rule beta = min(0.1, 25.31/lnLmax) does NOT transfer, because on
the flowMC path beta is the exponent of the SAMPLED target, so the export
must be reweighted by L^(1-beta) and the surviving fraction goes as
[beta(2-beta)]^(dim/2) -- set by dimension, with no lnLmax term
(measured flat to +/-10% over SNR 15->67). Applying the historical
value collapses an export from 4800 rows to 278.
--auto is EXPERIMENTAL and labelled as such. The calibrated law is an
ESTIMATE, not a bound: the SNR ladder measures 0.00823 where the
calibration predicts 0.0285. The degenerate case warns rather than
refuses, precisely because the estimate cannot support a hard floor.
Evidence and the counterexample are in DESIGN_jax_tempering.md 4a.
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.
Added options to include ecc/meanPerAno when converting from ascii to xml for grids/samples. Previously, would just zero out eccentricity and meanPerAno even if samples included them.