Repository navigation
ci: tests, README steps, format check and dependabot - #6
Merged
Merged
Conversation
…EADME install step
This was referenced Oct 22, 2026
Owner
Author
|
Physics follow-up on the 4.4e-7 note (BACKLOG R2e). Measured on your three stacks and Q grid:
Suggestion for this PR: build the parameters with The float32-input case is negligible for fitting: the linearised bias it causes is ≤ 0.22 % of the Cramér–Rao bound at 1e8 counts. Details are in the workspace notes (docs/r2e). |
This was referenced Oct 22, 2026
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.
Tier: medium
uv.lockchanges (pytest in the dev group; torch from PyPI on macOS; wxpython dropped on Linux).abeles_npnow computes in complex128 for float64 input (abeles_np always computes in complex64 because of a dtype identity check #5). The function is not called anywhere in the repository.Stacked on #4.
C10 items:
dependabot.yml(github-actions, monthly),ruff format --checkinlint.yml,readme.ymlcalling the shared workflow, andci.ymlrunning pytest. The README install block is split sogit cloneis plain anduv syncplusuv pip install -e .are the tested step.tests/(24 tests, 3 s): the utilities inio_utils,math_utils,physics_utils; both Abeles engines against a Parratt recursion written in the test; and the run paths from fix: evaluate the run main.py trained, not a fixed folder #4 / exp02/exp04 evaluate scripts read a fixed folder, not the run main.py trained #3 (below).ruff formatover 96 files in its own commit. The parsed syntax of every.pyfile is unchanged apart from a docstring's leading space (checked with a script that comparesast).Found while writing the tests, with the failing test committed before each fix:
q.dtype is np.float64is never true, soabeles_npalways used complex64 (rel. error 2e-5 against the Parratt recursion; 2.6e-15 after the fix). Test commit 36fdf77 fails on 3 cases, d0be930 fixes it.4 * math.pi * sldon a complex128 tensor, where the product shows about 1.5e-8 relative error, which is single-precision rounding of the scalar. I did not change it (it feeds the training data, so it is a physics-tier decision); the test allows 1e-5. Not reported as an issue yet.append_timestamp("scan.dat")returnsscan.dat_<time>.dat, the suffix twice. The docstring says the format is not fixed, so the test only checks that the suffix and folder are kept.The run-path test (ReflectoExp#3, fixed by #4):
exp02andexp04evaluate scripts take the run folder fromCONFIG["base_dir"] / CONFIG["exp_name"], as theirmain.pydoes, and no longer contain the hard-codedXRR_AI\data\one_layer\run. It reads the source lines because the scripts run under__main__and need data on disk.Two things the README job needed, both in
pyproject.toml:genx3pullswxpython, which has no Linux wheel and fails to build without GTK headers, the same failure as ReflectoLearn#13 / #26. Dropped there with an override.Local checks (Windows, Python 3.13, ruff 0.17.1):
ruff checkandruff format --checkpass, pytest 24 passed.uv pip compileresolves macOS, Linux and Windows. The README step was not run throughreadme-test.ps1; this PR's CI is the first run of the new jobs.conventions.py check ReflectoExpreads the main checkout, not this branch. On main it reports the four findings this PR addresses (dependabot, format check, src without tests, README steps). I did not rerun it on the branch.