[us-commits] [ehb54/ultrascan3] b59878: somo/grpy: record what the ladder did, so a valida...
emre brookes
noreply at github.com
Sat Aug 8 18:10:25 MDT 2026
Branch: refs/heads/somo-dev
Home: https://github.com/ehb54/ultrascan3
Commit: b5987813a126a972af54f60361e6eb79d6dca07d
https://github.com/ehb54/ultrascan3/commit/b5987813a126a972af54f60361e6eb79d6dca07d
Author: ehb54 <brookes at uthscsa.edu>
Date: 2026-08-08 (Sat, 08 Aug 2026)
Changed paths:
M us_somo/develop/grpy/grpy_shell.hpp
M us_somo/develop/grpy/tests/test_shell.cpp
M us_somo/develop/src/us_hydrodyn_grpy.cpp
M us_somo/somo/doc/manual/somo/somo_hydro.html
Log Message:
-----------
somo/grpy: record what the ladder did, so a validation run can be audited
Three additions, all in service of re-validating shell reduction against a frozen
implementation rather than against benchmarks whose provenance cannot be reconstructed.
ShellReport::values -- every rung's value for every requested observable. The ladder
already computes this; it was a local. Exposed, any variant of the estimator can be
recomputed from the stored sequence instead of re-solving, which is the difference
between seconds and hours per corpus when comparing estimators.
ShellReport::prov -- which mechanism produced each observable's estimate: whether
Richardson succeeded or the raw gap was used and why it declined, whether the observed
order was pinned at either clamp, and whether the 2x tightening floor set the number
rather than the extrapolation. This matters more than it sounds: on the archived
development runs the extrapolation tightened the estimate in only ~11% of cases, so most
of the reported margin came from the gap and the safety factor -- a fact that had to be
inferred from a separate harness's columns because the solver recorded none of it.
grpy_bead_inclusion scripting override -- the run already honours grpy_single,
grpy_shell, grpy_shell_tol, grpy_shell_require_eta, grpy_shell_max_beads and
grpy_ooc_dir, but not this one, so the screened and unscreened cases could not be swept
headlessly. Unlike the others it sets hydro rather than a call-site local, because bead
selection happens in several places across a run including after calc_grpy_hydro
returns; applied for the run and announced, since a silent change to which beads are
used would invalidate every number the run produces.
Tests: values has one row per rung and one column per observable, its last row IS the
reported value, and it changes between rungs (so it cannot pass by copying one rung);
prov is self-consistent (extrapolated xor declined, k_obs set iff extrapolated, no
safeguard flags when extrapolation did not run, never both clamps); and a deliberately
two-rung ladder declines to extrapolate and says why. Full module suite passes, clean
libus_somo and app builds.
Fixes ehb54/ultrascan-tickets#984
Commit: d7c89a4cf31dc15e8560ff78ebf8fc45c6ce1bf5
https://github.com/ehb54/ultrascan3/commit/d7c89a4cf31dc15e8560ff78ebf8fc45c6ce1bf5
Author: emre brookes <ehb54 at users.noreply.github.com>
Date: 2026-08-08 (Sat, 08 Aug 2026)
Changed paths:
M us_somo/develop/grpy/grpy_shell.hpp
M us_somo/develop/grpy/tests/test_shell.cpp
M us_somo/develop/src/us_hydrodyn_grpy.cpp
M us_somo/somo/doc/manual/somo/somo_hydro.html
Log Message:
-----------
Merge pull request #502 from ehb54/ehb54-984-provenance
somo/grpy: record the ladder's per-rung values and estimator provenance; script-set bead inclusion
Compare: https://github.com/ehb54/ultrascan3/compare/aeb6c2566c24...d7c89a4cf31d
To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/ultrascan3/settings/notifications
More information about the us-commits
mailing list