Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ad5196b
Correct issue 164 note on review-artifact ignore status
AndrewSazonov Jun 23, 2026
8db34fb
Add reviewed project audit findings document
AndrewSazonov Jun 23, 2026
45f66c8
Drop obsolete absorption-removal from issue 163
AndrewSazonov Jun 23, 2026
5c4cc02
Reframe issue 180 as upstream tracking; downgrade to low
AndrewSazonov Jun 23, 2026
3c83d17
Rescope issue 20 to leftover stderr-redirect cleanup
AndrewSazonov Jun 23, 2026
2a282a2
Clarify issue 79 is an audit task to justify low priority
AndrewSazonov Jun 23, 2026
1daec4a
Add audit-evidence notes to existing backlog issues
AndrewSazonov Jun 23, 2026
1863c29
File six new backlog issues from audit and sync index
AndrewSazonov Jun 23, 2026
94ac94e
Record just-do disposition for trivial audit findings
AndrewSazonov Jun 23, 2026
cfc5eed
Add missing suggestion ADRs to the index
AndrewSazonov Jun 23, 2026
6af69a0
Fix issues layout in development-docs-structure ADR
AndrewSazonov Jun 23, 2026
e660473
Reference handler-inventory generator in edstar ADR
AndrewSazonov Jun 23, 2026
c3598fe
Promote upstream-capability-request-evidence ADR to accepted
AndrewSazonov Jun 23, 2026
e2e03fb
Promote verification-example-lifecycle ADR to accepted
AndrewSazonov Jun 23, 2026
df6fc81
Relocate superseded parameter-posterior-summary ADR to accepted
AndrewSazonov Jun 23, 2026
ef9fc61
Link size/strain verification page from features table
AndrewSazonov Jun 23, 2026
3b377d7
Remove consumed project-audit working document
AndrewSazonov Jun 23, 2026
c091bca
File issues for CI test warnings (fork, diffpy, pytest noise)
AndrewSazonov Jun 23, 2026
0b123f2
Cross-reference issue 187 fork constraint from issue 95
AndrewSazonov Jun 23, 2026
b9f62ed
Apply formatting
AndrewSazonov Jun 23, 2026
14ccb91
Update feature descriptions to reflect Gaussian broadening in calcula…
AndrewSazonov Jun 23, 2026
0459d74
Update features matrix engine support and CLI/LIB consistency
AndrewSazonov Jun 23, 2026
5547b89
Add highest issue for single-crystal TOF verification example
AndrewSazonov Jun 23, 2026
6550790
Add single-crystal TOF verification example (Taurine)
AndrewSazonov Jun 24, 2026
b2af3dc
Close issue 190: single-crystal TOF verification added
AndrewSazonov Jun 24, 2026
4968962
Fix all parameters in Taurine FullProf reference (pure calculation)
AndrewSazonov Jun 24, 2026
b5a832f
Refine descriptions for Pr2NiO4 and Taurine structures in verificatio…
AndrewSazonov Jun 24, 2026
cdba660
Add DREAM diamond TOF verification example and fix verification nav
AndrewSazonov Jun 24, 2026
0d103ba
Fetch git tags in notebook CI so versioningit version is shown
AndrewSazonov Jun 24, 2026
4633806
Add feature requests for TOF and X-ray powder pattern calculations in…
AndrewSazonov Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,13 @@ jobs:
# Note: The gh-pages branch is fetched separately later for mike deployment.
- name: Checkout repository
uses: actions/checkout@v6
with:
# Full history with tags so versioningit derives the real
# version (e.g. 0.18.0+dev40) instead of the v999.0.0 fallback
# (tool.versioningit.vcs default-tag), which would otherwise
# appear as "edi 999" in the executed notebook outputs rendered
# to HTML.
fetch-depth: 0

# Activate dark mode to create documentation with Plotly charts in dark mode
# Need a better solution to automatically switch the chart colour theme based on the mkdocs material switcher
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/nightly-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ jobs:
steps:
- name: Check-out repository
uses: actions/checkout@v6
with:
# Full history with tags so versioningit derives the real
# version instead of the v999.0.0 fallback in notebook output.
fetch-depth: 0

- name: Set up pixi
uses: ./.github/actions/setup-pixi
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/tutorial-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
# Full history with tags so versioningit derives the real
# version instead of the v999.0.0 fallback in notebook output.
fetch-depth: 0

- name: Set up pixi
uses: ./.github/actions/setup-pixi
Expand Down
9 changes: 7 additions & 2 deletions docs/dev/adrs/accepted/development-docs-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,19 @@ docs/dev/
| |-- accepted/
| `-- suggestions/
|-- issues/
| |-- open.md
| `-- closed.md
| |-- index.md
| |-- open/
| `-- closed/
|-- package-structure/
| |-- full.md
| `-- short.md
`-- plans/
```

Issues are one Markdown file per issue under `issues/open/` and
`issues/closed/`, with `issues/index.md` as the table of contents (not
flat `open.md` / `closed.md` files).

Use lowercase directory names for new development-doc folders. The
feature/roadmap matrix is published directly in the user documentation
at `docs/docs/features/index.md` (single source of truth for both
Expand Down
7 changes: 7 additions & 0 deletions docs/dev/adrs/accepted/edstar-project-persistence.md
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,13 @@ For type-neutral ADPs, `edi_names` stays the neutral
`_atom_site.adp_iso` (so the Edi save is always type-neutral) while the
type-specific B/U order is applied to `cif_names` for export.

The "generated inventory" referenced throughout this ADR (the full set
of `TagSpec`/`CifHandler` entries used as the migration and
parameter-docs audit) is produced by
[`tools/edi_handler_inventory.py`](../../../../tools/edi_handler_inventory.py)
and written to the sidecar `handler-inventory.json` next to this file.
Regenerate it with that tool rather than hand-editing the JSON.

## Consequences

### Positive
Expand Down
8 changes: 4 additions & 4 deletions docs/dev/adrs/accepted/minimizer-category-consolidation.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ owner, category as a read-only attribute that gets swapped.
### 3. Per-parameter posterior data lives on `Parameter.posterior`

Adopt the proposal from
[`parameter-posterior-summary.md`](../suggestions/parameter-posterior-summary.md):
[`parameter-posterior-summary.md`](parameter-posterior-summary.md):
`GenericParameter.posterior` is `None` for deterministic fits and a
`PosteriorParameterSummary` for Bayesian fits. The
`_bayesian_parameter_posterior` CIF loop is removed; posterior summary
Expand Down Expand Up @@ -466,9 +466,9 @@ category's class-level `_engine_metadata` dict.

### Suggestions superseded or absorbed

- [`parameter-posterior-summary.md`](../suggestions/parameter-posterior-summary.md)
absorbed by §3 of this ADR. When this ADR is accepted, that
suggestion can be closed and a pointer added.
- [`parameter-posterior-summary.md`](parameter-posterior-summary.md)
absorbed by §3 of this ADR. When this ADR is accepted, that suggestion
can be closed and a pointer added.

## Alternatives Considered

Expand Down
2 changes: 1 addition & 1 deletion docs/dev/adrs/accepted/peak-profile-cutoff.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ unsafe (too aggressive for some data). Users therefore need a per-
experiment knob, mirroring FullProf's `.pcr` `WDT`.

This relates to the upstream capability-request workflow
([`upstream-capability-request-evidence.md`](../suggestions/upstream-capability-request-evidence.md)):
([`upstream-capability-request-evidence.md`](upstream-capability-request-evidence.md)):
the literal cutoff was proposed upstream and released in cryspy 0.12.0,
so EasyDiffraction drives it through the released `profile_cutoff_fwhm`
key without requiring a cryspy CIF-schema change.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Status

Proposed.
Accepted.

## Date

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Status

Proposed.
Accepted.

## Date

Expand Down
127 changes: 65 additions & 62 deletions docs/dev/adrs/index.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# 190. Add a Single-Crystal TOF Fit Verification Example

**Closed:** added the single-crystal time-of-flight verification example
`docs/docs/verification/sc-neut-tof_taurine_basic.py` (and generated
`.ipynb`), built from a FullProf reference for Taurine (P 2₁/c, neutron
TOF single-crystal data, SENJU @ J-PARC).

The FullProf model has extinction set to zero (Ext1 = 0, unrefined) so
the comparison focuses on the structure-factor physics shared by cryspy
and FullProf. After refining the overall scale only, edi-cryspy matches
the FullProf F²cal to ~0.01% (profile diff and max deviation), with area
ratio 1.0000 and shape correlation 1.0000.

Reference files live in
`docs/docs/verification/fullprof/sc-neut-tof_taurine_basic/`; the
example is listed under the **Single Crystal** section of
`docs/docs/verification/index.md` and linked from the features page
(§2.2 single-crystal Time-of-Flight row).
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ Resolved by an explicit project-owner decision: `AGENTS.md` and
`CLAUDE.md` are **intentionally git-ignored** and kept local-only, not
committed repository artifacts. The `.gitignore` `# Agents` block keeps
both files ignored, and a note at the top of `AGENTS.md` (plus a clause
in §Change Discipline) records that they are deliberately local-only and
that their `AGENTS_review-N.md` / `AGENTS_reply-N.md` artifacts are
likewise untracked and may be cleaned up once a review cycle closes.
This removes the earlier contradiction (the document described itself as
checked-in while being ignored) by adopting the local-only branch rather
than committing the files.
in §Change Discipline) records that they are deliberately local-only.
The `.gitignore` block ignores only `AGENTS.md` / `CLAUDE.md` themselves
— **not** their `AGENTS_review-N.md` / `AGENTS_reply-N.md` artifacts —
so those review/reply files stay visible in `git status` by design, a
deliberate reminder that they are temporary and must be cleaned up once
a review cycle closes (the agent never `git add`s them). This removes
the earlier contradiction (the document described itself as checked-in
while being ignored) by adopting the local-only branch rather than
committing the files.
14 changes: 12 additions & 2 deletions docs/dev/issues/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ individual issue files** — not here.
| 167 | [Add CrysFML `WDT` Parameter to Peak Shapes](open/highest_add-crysfml-wdt-parameter-to-peak-shapes.md) | `[priority] highest` | Performance / Engine feature |
| 168 | [Decide X-ray Anomalous Scattering Table Source](open/highest_decide-x-ray-anomalous-scattering-table-source.md) | `[priority] highest` | Correctness / External backend / Verification |
| 170 | [Document CrysFML X-ray Polarization as EasyDiffraction-Custom](open/highest_document-crysfml-x-ray-polarization-is-easydiffraction-custom.md) | `[priority] highest` | Correctness / External backend / Verification |
| 180 | [Nuclear-Only Reflection Filter Drops Valid Peaks (Breaks HS HRPT)](open/highest_nuclear-only-reflection-filter-drops-valid-peaks.md) | `[priority] highest` | Correctness / External backend |
| 8 | [Add Explicit `create()` Signatures on Collections](open/high_add-explicit-create-signatures-on-collections.md) | `[priority] high` | API safety |
| 61 | [Clarify Logger Default Reaction Mode](open/high_clarify-logger-default-reaction-mode.md) | `[priority] high` | Design |
| 66 | [Decide Error-Handling Strategy: `log.error` vs `raise`](open/high_decide-error-handling-strategy-log-error-vs-raise.md) | `[priority] high` | Design |
Expand Down Expand Up @@ -72,6 +71,9 @@ individual issue files** — not here.
| 174 | [Bulk Write-Back of Calculated Intensity During Fits](open/medium_bulk-write-back-of-calculated-intensity-during-fits.md) | `[priority] medium` | Performance |
| 175 | [Avoid the CIF Round-Trip on Every Public `calculate()`](open/medium_avoid-cif-round-trip-on-every-public-calculate.md) | `[priority] medium` | Performance |
| 179 | [Investigate a Better Automatic `cutoff_fwhm` Detection Mechanism](open/medium_better-automatic-cutoff-fwhm-detection.md) | `[priority] medium` | Performance / Engine feature |
| 182 | [Display `engine` Setter Swallows `ValueError` and Is Off-Contract](open/medium_display-engine-setter-swallows-valueerror-and-is-off-contract.md) | `[priority] medium` | Robustness / Architecture |
| 183 | [Add Mixin Tests for TOF Size/Strain Parameters](open/medium_add-mixin-tests-for-tof-size-strain-parameters.md) | `[priority] medium` | Test coverage |
| 187 | [`fork()` in a Multi-Threaded Process (BUMPS/DREAM)](open/medium_fork-in-multi-threaded-process-deprecation-in-bumps-dream.md) | `[priority] medium` | Forward-compatibility / Concurrency |
| 9 | [Add Future Enum Extensions](open/low_add-future-enum-extensions.md) | `[priority] low` | Design improvement |
| 10 | [Unify Project-Level Update Orchestration](open/low_unify-project-level-update-orchestration.md) | `[priority] low` | Maintainability |
| 11 | [Document Category `_update` Contract](open/low_document-category-update-contract.md) | `[priority] low` | Maintainability |
Expand Down Expand Up @@ -153,10 +155,17 @@ individual issue files** — not here.
| 159 | [Narrow Defensive getattr-Chain in Aniso ADP Unit Resolution](open/low_narrow-defensive-getattr-chain-in-aniso-adp-unit-resolution.md) | `[priority] low` | Maintainability |
| 160 | [Replace No-Op `assert True` in `test_logging.py`](open/low_replace-no-op-assert-true-in-test-logging-py.md) | `[priority] low` | Test coverage |
| 161 | [Add Boundary Tests for `verification.py` FullProf/IGOR Parsers](open/low_add-boundary-tests-for-verification-py-fullprof-igor-parsers.md) | `[priority] low` | Test coverage |
| 163 | [Fix `.gitignore` Gaps and Remove the Stale `absorption/` Package](open/low_fix-gitignore-gaps-and-remove-the-stale-absorption-package.md) | `[priority] low` | Hygiene |
| 163 | [Fix `.gitignore` Gaps (`.pyc` Pattern and `benchmark.json`)](open/low_fix-gitignore-pyc-and-benchmark-gaps.md) | `[priority] low` | Hygiene |
| 165 | [cryspy Backend Hardcodes `flag_only_nuclear` (No Magnetic Structures)](open/low_cryspy-backend-hardcodes-flag-only-nuclear-no-magnetic-structures.md) | `[priority] low` | Engine limitation |
| 176 | [Reuse Reflection Record Objects Across Fit Iterations](open/low_reuse-reflection-record-objects-across-fit-iterations.md) | `[priority] low` | Performance |
| 177 | [Reduce Per-Point Data-Model Overhead in Fits](open/low_reduce-per-point-data-model-overhead-in-fits.md) | `[priority] low` | Performance |
| 180 | [Re-enable `flag_only_nuclear` Pre-Filter After Upstream cryspy Fix](open/low_re-enable-nuclear-only-pre-filter-after-cryspy-fix.md) | `[priority] low` | Correctness / External backend |
| 181 | [Add `from __future__ import annotations` to All Modules](open/low_add-from-future-annotations-to-all-modules.md) | `[priority] low` | Hygiene / Consistency |
| 184 | [Replace String-Dispatch `getattr` in `core/identity.py`](open/low_replace-string-dispatch-getattr-in-core-identity.md) | `[priority] low` | Code style |
| 185 | [Replace `**kwargs` in `Logger.print`](open/low_replace-kwargs-in-logger-print.md) | `[priority] low` | Code style |
| 186 | [Test `AdpTypeEnum.description()`](open/low_test-adptypeenum-description.md) | `[priority] low` | Test coverage |
| 188 | [Track `diffpy.Structure` Deprecation Warning](open/low_track-diffpy-structure-deprecation-warning.md) | `[priority] low` | Dependency / Deprecation |
| 189 | [Quiet Expected pytest Warnings (benchmark/xdist and BUMPS)](open/low_quiet-expected-pytest-warnings-benchmark-xdist-and-bumps.md) | `[priority] low` | Test hygiene / CI noise |
| 88 | [Fix Dataset 26 Description (47 Files, Not 57)](open/lowest_fix-dataset-26-description-47-files-not-57.md) | `[priority] lowest` | Data |
| 91 | [Disable TODO Comment Checks in CodeFactor PRs](open/lowest_disable-todo-comment-checks-in-codefactor-prs.md) | `[priority] lowest` | CI / Tooling |
| 117 | [Live-Notebook Plotly Delivery: Loader vs Native Mimetype](open/lowest_live-notebook-plotly-delivery-loader-vs-native-mimetype.md) | `[priority] lowest` | Display / Architecture |
Expand Down Expand Up @@ -188,3 +197,4 @@ individual issue files** — not here.
| 164 | [Reconcile Git-Ignored `AGENTS.md` / `CLAUDE.md` With Their Checked-In Role](closed/reconcile-git-ignored-agents-md-claude-md-with-their-checked-in-role.md) |
| 172 | [Cache Wyckoff Orbit Templates to Speed Up Refinement](closed/cache-wyckoff-orbit-templates-to-speed-up-refinement.md) |
| 173 | [Avoid Rebuilding the Included-Point Mask Every Fit Iteration](closed/avoid-rebuilding-included-point-mask-every-fit-iteration.md) |
| 190 | [Add a Single-Crystal TOF Fit Verification Example](closed/add-single-crystal-tof-fit-verification-example.md) |
Loading
Loading