Repository navigation
docs: NOTICE provenance, Materials Project and orix credits, README and CITATION for 0.10.0 - #28
Merged
Merged
Conversation
Comments in DiffractoCore cited registration sections, review rounds and work sessions that are not part of this repository. They now say what the code does, or name the module that does it. Comment-only change. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Comment-only change in DiffractoScattering: registration sections and review rounds removed, "slice 1" named as DiffractoCore. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Comment-only change in DiffractoGeometry: registration sections, review rounds, finding numbers and work-session names removed; "slice 1/2/3b" named as DiffractoCore, DiffractoScattering or the file that does it; "the owner" reworded. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Comment-only change in DiffractoOrientation: registration sections, roadmap task numbers and the study step removed. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Comment, print and test-name text in DiffractoCoreTests: registration sections, review rounds, tiers and work-session names removed; a missing mutation script no longer cited; "registered" values renamed expected or documented. The D17 tolerance rule is now described in words. Also two leftover registration notes in DiffractoGeometry and macTEM's ADR numbers named as macTEM's. No assertion changes. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
…repo Comment, MARK and test-name text in DiffractoGeometryTests and DiffractoScatteringTests: registration sections, the old roadmap, review rounds and finding numbers, tiers and missing mutation scripts removed; the archived camera-length plan no longer cited; "registered" values renamed documented, quoted or predicted; "the owner's data" is the maintainer's. No assertion changes. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Comment, suite-name and known-issue text in DiffractoOrientationTests, DiffractoKitParityTests and DiffractoKitTestSupport: registration sections, amendments, gates and work-session names removed or named by subject; "registered" values renamed stated, documented or predicted. The apps-parity tests are left as they are: #18 retires them. No assertion changes. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Pin generators and tools READMEs: registration sections, the private design note, the old roadmap, review rounds and the missing mutation scripts (tools/kit-0.0.4/mutants-*.py, tools/slice-3b/mutants.py, tools/kit-0.2.0/mutants-policy.py) no longer cited; the mutation results stay as measured facts. Package.swift no longer names the missing tools/test.sh. Only comments, docstrings and README text change: string literals the generators write into fixtures are left as they are, so a regenerated fixture stays byte-identical. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
…reader status.md is one screen without test counts, open-items.md one plain list (the venv note moves to CONTRIBUTING.md, the app-adoption note is added), parity.md and benchmarks.md drop references to material outside the repo, and a short public ROADMAP.md names the items parity.md cites. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
macTEM's public history starts at v1.0.0, so its commits a58c84c and 9482831 cannot be found. NOTICE, the source comments and the tools now cite "macTEM before v1.0.0 (history squashed)". NOTICE gains an orix entry (the oracle for P26 and P36, no code copied into the library) and credits the Materials Project fixtures under CC BY 4.0. Part of #17 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
README: install pin 0.10.0, CI and docs badges, the Metal path and the ImagoKit/Accelerate dependency, the module table up to 0.10.0 and two Known limits lines reworded. CITATION gains version, date-released and orix, and loses the ORCID TODO. The fixture README lists the orix misorientation pins and credits the Materials Project files; the stray .keep is gone. Part of #17 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
…ing) Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Part of #17 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd
# Conflicts: # CITATION.cff # NOTICE # Sources/DiffractoCore/ReflectionList.swift # Sources/DiffractoGeometry/ElectronWavelength.swift # Sources/DiffractoGeometry/RingCalibration.swift # Sources/DiffractoGeometry/RingIndexing.swift # Tests/DiffractoGeometryTests/RingCalibrationTests.swift # Tests/DiffractoGeometryTests/RingFitCalibrationTests.swift # Tests/DiffractoGeometryTests/RingIndexingTests.swift # Tests/DiffractoKitParityTests/Geometry/RingCalibrationPinsTests.swift # Tests/Fixtures/README.md # tools/slice-3/README.md
…links and 0.0.3 Every version heading is `## [x.y.z](compare link) (date)`, the form release-please writes from 0.11.0 on, so the file reads as one list. 0.3.0, 0.1.1 and 0.1.0 get their tag dates, 0.0.3 gets a pre-release entry, and the "archived" lines and internal ask and task numbers are gone. The CI tag check's regex already reads both heading forms (`^## \[?v?x.y.z`), so ci.yml is unchanged; it reads 0.10.0 here. Done: the CHANGELOG bullet of #17. Next: Paul merges #28. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both lines carry an x-release-please-version annotation and the files are release-please extra-files, so the Release PR moves them with the manifest. CITATION's date-released stays a hand edit in the Release PR. Done: the CITATION 'bumped with every tag' bullet of #17. Next: Paul merges #28. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paullo9
added a commit
that referenced
this pull request
Oct 29, 2026
…-subject Resolves the conflicts between the two PRs once: the renamed tools keep #28's provenance wording ("macTEM before v1.0.0 (history squashed)"), the fixture README keeps the renamed table with #28's Materials Project credit, and the two old slice READMEs stay deleted (their text lives in tools/pins/ring-calibration and tools/pins/ring-indexing). NOTICE and README now name the tools/pins paths and pymatgen-core 2026.10.16. Done: #18's NOTICE and README follow-ups. Next: Paul merges #28, then this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paullo9
pushed a commit
that referenced
this pull request
Oct 30, 2026
main's #28 is already in this branch; its later line-wrap edits are superseded by the renamed files here, and the retired tools/slice-3 and slice-3b READMEs stay deleted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWLQDNR7GTJSa5geSZ
Paullo9
added a commit
that referenced
this pull request
Oct 30, 2026
… subject (#35) * docs(core): drop references to documents outside the repo Comments in DiffractoCore cited registration sections, review rounds and work sessions that are not part of this repository. They now say what the code does, or name the module that does it. Comment-only change. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs(scattering): drop references to documents outside the repo Comment-only change in DiffractoScattering: registration sections and review rounds removed, "slice 1" named as DiffractoCore. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs(geometry): drop references to documents outside the repo Comment-only change in DiffractoGeometry: registration sections, review rounds, finding numbers and work-session names removed; "slice 1/2/3b" named as DiffractoCore, DiffractoScattering or the file that does it; "the owner" reworded. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs(orientation): drop references to documents outside the repo Comment-only change in DiffractoOrientation: registration sections, roadmap task numbers and the study step removed. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * test(core): drop references to documents outside the repo Comment, print and test-name text in DiffractoCoreTests: registration sections, review rounds, tiers and work-session names removed; a missing mutation script no longer cited; "registered" values renamed expected or documented. The D17 tolerance rule is now described in words. Also two leftover registration notes in DiffractoGeometry and macTEM's ADR numbers named as macTEM's. No assertion changes. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * test(geometry, scattering): drop references to documents outside the repo Comment, MARK and test-name text in DiffractoGeometryTests and DiffractoScatteringTests: registration sections, the old roadmap, review rounds and finding numbers, tiers and missing mutation scripts removed; the archived camera-length plan no longer cited; "registered" values renamed documented, quoted or predicted; "the owner's data" is the maintainer's. No assertion changes. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * test(orientation, parity): drop references to documents outside the repo Comment, suite-name and known-issue text in DiffractoOrientationTests, DiffractoKitParityTests and DiffractoKitTestSupport: registration sections, amendments, gates and work-session names removed or named by subject; "registered" values renamed stated, documented or predicted. The apps-parity tests are left as they are: #18 retires them. No assertion changes. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs(tools): drop references to documents outside the repo Pin generators and tools READMEs: registration sections, the private design note, the old roadmap, review rounds and the missing mutation scripts (tools/kit-0.0.4/mutants-*.py, tools/slice-3b/mutants.py, tools/kit-0.2.0/mutants-policy.py) no longer cited; the mutation results stay as measured facts. Package.swift no longer names the missing tools/test.sh. Only comments, docstrings and README text change: string literals the generators write into fixtures are left as they are, so a regenerated fixture stays byte-identical. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs: rewrite status, open items, parity and benchmarks for a public reader status.md is one screen without test counts, open-items.md one plain list (the venv note moves to CONTRIBUTING.md, the app-adoption note is added), parity.md and benchmarks.md drop references to material outside the repo, and a short public ROADMAP.md names the items parity.md cites. Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs(geometry): drop references to archived notes outside the repo Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs: cite macTEM's squashed history by version, credit orix macTEM's public history starts at v1.0.0, so its commits a58c84c and 9482831 cannot be found. NOTICE, the source comments and the tools now cite "macTEM before v1.0.0 (history squashed)". NOTICE gains an orix entry (the oracle for P26 and P36, no code copied into the library) and credits the Materials Project fixtures under CC BY 4.0. Part of #17 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs: README, CITATION and fixture list match 0.10.0 README: install pin 0.10.0, CI and docs badges, the Metal path and the ImagoKit/Accelerate dependency, the module table up to 0.10.0 and two Known limits lines reworded. CITATION gains version, date-released and orix, and loses the ORCID TODO. The fixture README lists the orix misorientation pins and credits the Materials Project files; the stray .keep is gone. Part of #17 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * docs: join two dangling doc-comment fragments (SwiftLint comment_spacing) Part of #16 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * Licence: GPL-3.0-only for DiffractoKit's own lines Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * docs: NOTICE grants GPL-3.0-only, matching the licence id Part of #17 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd * test: the ellipse sweep fixture carries its own plants slice-3b-sweep.json now records each ring's plant (size, radius, eps, theta, gap, seed) and fit1D's start and annulus, and tools/slice-3b/sweep.py renders the 20 rings itself (a line-for-line Python port of EllipsePlant with no noise; every ring's FNV-1a hash equals the Swift renderer's). Reason: the sweep test read its plants from slice-3b-apps.json, the apps-parity dump that #18 retires. No number moved: every optimum, hash and count is byte-identical; only the plant fields were added and the dump index dropped. Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test: retire the apps-parity dumps Deletes slice-2-apps.json, slice-3b-apps.json, slice-3b-apps-onone.json and slice-4-apps.json (about 15 MB) with their tests (ScatteringPinsTests' testAppsBitForBit and the beta'' site-list test, EllipseAppsParityTests, Slice4AppsParityTests) and generators (tools/slice-{2,3b,4}/apps-parity). Reason: they were bit-identity dumps of the apps' pre-port code (mac4DSTEM 7d6fdbd1), holding the kit to frozen legacy output rather than to a reference, and regenerating them needed an old app checkout. The Python pins (P4 to P6, P11, P14, P15) and the planted-truth tests hold the same functions. docs/parity.md marks P7, P10 and P16 retired; the fixtures README drops the four rows (and gains the missing orix-misorientation row). Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor: name tools, fixtures and tests by subject One move, no number changed: every fixture is byte-identical under its new name. - Generators: tools/slice-1, slice-1b, slice-2, slice-3, slice-3b, slice-4, kit-0.0.4 and mactem-pieces become tools/pins/{cells, conventional-cell, structure-factors, ring-calibration, ring-indexing, ellipse, phase-vectors, ring-display}; the subject-named orix, symmetry (now orientation-symmetry), presets, mp-import, cif-symmetry and acom-matcher move under tools/pins too, so every fixture generator lives in one place. Each script's root path is one level deeper; every resolved path was checked. - Fixtures: slice-*-pins.json become <reference>-<subject>-pins.json (pymatgen-cells, spglib-conventional-cell, numpy-structure-factor, numpy-ring-calibration, numpy-ring-indexing, scipy-ellipse-sweep, py4dstem-phase-vector); the review CIFs refuter_* are named by what they hold (magnesium_P1_origin_shifted.cif and so on). The fixture folders and FixtureDirs are unchanged. - Tests: Slice1bSupport, KitAsks0100Tests, ToleranceFixesTests, ACOMKitAsksTests, PhaseVectorReviewFindingTests, RingFitAmendmentTests, PolicyFixesTests and Slice4PinsTests (with its G2 to G4 suites) are named after the API they test; consumer-check's Geometry004, MacTEMPieces and Release0100 files after their subject. - docs/parity.md, the fixtures README and the "Generated by" lines of three generated sources follow. Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor: one copy of the README example tools/readme-consumer's target is now a symbolic link to Examples/diffracto-example, so the README's program exists once in the repository (the README block aside) instead of three byte-identical times. SwiftPM refuses a target `path:` outside the package root, so the link stands in for it; run.sh checks the link and compares the example with the README, and the consumer package still builds from outside the kit against the public API only. Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test: the real-pattern ellipse test runs where its data is testRinglessFitOnARealMeanPatternFallsBackToTheConic was .disabled; it is now enabled when its file exists under $MACEM_DATA (default ../data beside the checkout) and skipped with a reason otherwise, the kit's rule for real-data tests. The file is still absent everywhere (its manifest line is pending), so CI skips it as before. Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: the Python reference environment, once, with a requirements file per oracle CONTRIBUTING.md describes the three venvs (pymatgen with spglib, orix, py4DSTEM) and how to build them from a fresh clone with tools/pins/requirements/{pymatgen,orix,py4dstem}.txt, which pin the versions the committed fixtures were made with. The pymatgen generators now name a venv called pymatgen instead of the orix one they ran in. Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test: regenerate the pymatgen fixtures on pymatgen-core 2026.10.16 Reason: the fixtures recorded pymatgen-core 2026.9.23 (an earlier venv) while the reference environment holds 2026.10.16; every fixture that records a pymatgen-core version now records 2026.10.16. Regenerated with tools/pins: pymatgen-cells, spglib-conventional-cell, tetragonal, numpy-structure-factor, mp-import, presets, py4dstem-phase-vector, symmetry and py4dstem-family-real pins. No number moved: a structural comparison of each old and new file finds only the version, Python, timestamp and (phase-vector pins) generator-path fields changed. The generators' version asserts and the tests that read the recorded versions follow (pymatgen-core 2026.10.16, Python 3.12, and NumPy 2.5.4 / SciPy 1.18.1 in the py4DSTEM venv). Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor: the phase-vector pin file type named by subject Part of #18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: CHANGELOG headings in release-please form, with dates, compare links and 0.0.3 Every version heading is `## [x.y.z](compare link) (date)`, the form release-please writes from 0.11.0 on, so the file reads as one list. 0.3.0, 0.1.1 and 0.1.0 get their tag dates, 0.0.3 gets a pre-release entry, and the "archived" lines and internal ask and task numbers are gone. The CI tag check's regex already reads both heading forms (`^## \[?v?x.y.z`), so ci.yml is unchanged; it reads 0.10.0 here. Done: the CHANGELOG bullet of #17. Next: Paul merges #28. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci: release-please bumps the CITATION version and the README install pin Both lines carry an x-release-please-version annotation and the files are release-please extra-files, so the Release PR moves them with the manifest. CITATION's date-released stays a hand edit in the Release PR. Done: the CITATION 'bumped with every tag' bullet of #17. Next: Paul merges #28. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Oct 30, 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.
Requested by Paul · project thread
Part of #17
This PR was stacked on #27. Now that #27 is merged,
mainis merged in and the base ismain.Done here
a58c84cand9482831are not in macTEM's public history. NOTICE, 9 source and test files, and the tools READMEs and docstrings now cite them as "macTEM before v1.0.0 (history squashed)", and the "(read bygit show)" notes are gone. Two places still namea58c84c: string literals intools/slice-2/pins.pyand the matching notes inslice-2-pins.json. Changing them would move fixture bytes.Tests/Fixtures/README.mdcredit themp-importfiles under CC BY 4.0, with the source, licence link and the Jain et al. 2013 citation. This replaces the "licence terms to be confirmed" line.orix-misorientation-pins.jsonis added and the stray.keepis deleted. The README now lists 56 files, and 56 are tracked.version: 0.10.0anddate-released: 2026-10-22, and removes the ORCID TODO. From now on release-please bumps the CITATION version and the README pin (73764e8).Left open on #17
No Swift changes except comments.
🤖 Generated with Claude Code
https://claude.ai/code/session_01VkKZEWxuR53HJvmXUenLwd