Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
372 commits
Select commit Hold shift + click to select a range
7e667b3
fix(integration): expire browser sessions with projects
jhuang165 Sep 15, 2026
99f0503
Add Artemis EXAFS fitting workflow
Cathyhjj Sep 16, 2026
f90e470
Increase Athena pane text size
Cathyhjj Sep 16, 2026
068e7be
feat(web): launch native Athena with project capabilities
jhuang165 Sep 16, 2026
29bf262
fix(web): isolate Athena integration authority
jhuang165 Sep 16, 2026
488322a
fix(web): enforce Athena operation capabilities
jhuang165 Sep 16, 2026
4f80c96
fix(web): gate Athena workflow sub-actions
jhuang165 Sep 16, 2026
f18ef8e
test(web): cover Athena point-edit transport guards
jhuang165 Sep 16, 2026
40ce77f
feat(integration): qualify mounted persistent Athena
jhuang165 Sep 16, 2026
b10ef31
fix(integration): close mounted acceptance gaps
jhuang165 Sep 16, 2026
7677819
fix(deploy): validate integration marker bytes
jhuang165 Sep 16, 2026
cb989d9
feat(integration): add project summary route
jhuang165 Sep 16, 2026
f00ac38
Add Athena data mode tags and menu search
Cathyhjj Sep 16, 2026
ecfbb49
fix(integration): hide project summary state
jhuang165 Sep 16, 2026
70f9d4b
feat(integration): export selected group science
jhuang165 Sep 17, 2026
64cbecc
Add Artemis fitted path plots and parameter sync
Cathyhjj Sep 17, 2026
7699379
Add Athena group drag reorder, parameter help, and plot refinements
Cathyhjj Sep 17, 2026
b645343
fix(integration): name each selected group's own revision on return
jhuang165 Sep 17, 2026
48c2c7b
test(e2e): run the suite under both serving modes and follow link to …
jhuang165 Sep 17, 2026
3d0f61f
Merge feature/native-athena-integration into master
jhuang165 Sep 17, 2026
120df62
Add Dr.XAS-style dark mode and refine fitting panels
Cathyhjj Sep 19, 2026
c0dee1a
Merge master and preserve shared colormap controls
Cathyhjj Sep 19, 2026
f99be87
Merge pull request #2 from Dr-XAS/feature/plot-color-legend
Cathyhjj Sep 19, 2026
1d51d0b
Use independent PR spectrum colormap controls
Cathyhjj Sep 20, 2026
96c7e15
Merge pull request #3 from Dr-XAS/codex/pr2-original-colormaps
Cathyhjj Sep 20, 2026
39b7525
style(ui): unify typography and Dr.XAS branding
Cathyhjj Sep 20, 2026
def9a64
fix(plots): align sidebar swatches with available spectrum traces
Cathyhjj Sep 20, 2026
c5e6722
feat(wavelet): add interactive ranges and Fourier previews
Cathyhjj Sep 20, 2026
2ea1c31
fix(plots): stabilize resizing at the document bottom
Cathyhjj Sep 20, 2026
4d0083d
feat(athena): support dual-mode and reviewed batch imports
Cathyhjj Sep 20, 2026
a95d1b3
build(frontend): upgrade to a shared Plotly 4 runtime
Cathyhjj Sep 20, 2026
5f27911
perf(athena): avoid full project transfers for spectrum selection
Cathyhjj Sep 20, 2026
307b538
fix(ci): isolate health revision tests from release environment
Cathyhjj Sep 20, 2026
0fb341b
fix(tests): refresh integration timestamps at execution time
Cathyhjj Sep 20, 2026
0e1a803
feat(athena): refine imports and visualization controls
Cathyhjj Sep 20, 2026
24dcb14
fix(import): parse fixed-width LabVIEW column legends
Cathyhjj Sep 20, 2026
46107fb
feat(plots): make spectrum colorbar the palette picker
Cathyhjj Sep 20, 2026
c2fbb5c
feat(athena): add column reimport and refine import controls
Cathyhjj Sep 20, 2026
144e9cc
style(ui): refine shared typography scale
Cathyhjj Sep 20, 2026
279417c
feat(athena): add spectrum organization and examples
Cathyhjj Sep 20, 2026
3a1dc86
feat(artemis): add interactive CIF structure viewer
Cathyhjj Sep 20, 2026
41abdb0
Merge pull request #4 from Dr-XAS/codex/fix-release-ci-metadata
Cathyhjj Sep 20, 2026
e68110f
fix(tests): persist Athena fixture ordering metadata
Cathyhjj Sep 20, 2026
9bbd9c6
feat(athena): streamline spectrum groups and viewer colors
Cathyhjj Sep 21, 2026
06f49df
fix(athena): preserve automatic k limits in context copies
Cathyhjj Sep 21, 2026
558a47e
feat(athena): expose Undo and Redo in Edit menu
Cathyhjj Sep 21, 2026
8da6dea
feat(athena): overlay spectrum legend within plot
Cathyhjj Sep 21, 2026
2e662cf
feat(athena): add collapsible viewers and project CIF preview
Cathyhjj Sep 21, 2026
3cbbef0
feat(athena): add selectable ordered result viewers
Cathyhjj Sep 23, 2026
e7dccae
feat(athena): refine results viewer controls
Cathyhjj Sep 23, 2026
75a9eb8
feat(artemis): visualize FEFF paths with local structure
Cathyhjj Sep 23, 2026
c3cda0b
feat(artemis): add verified Cuprite FEFF example
Cathyhjj Sep 23, 2026
3301334
docs: record weekly FEFF viewer progress
Cathyhjj Sep 23, 2026
75d9806
Improve FEFF path and CIF structure viewers
Cathyhjj Sep 23, 2026
2b76643
Remove extra Athena workspace copy
Cathyhjj Sep 23, 2026
a1f6808
Record FEFF and Athena work in weekly report
Cathyhjj Sep 23, 2026
1de4b63
Unify Athena viewer and dialog controls
Cathyhjj Sep 23, 2026
37e25ed
Record Athena viewer layout verification
Cathyhjj Sep 23, 2026
c67a1cc
Split single and multiple spectrum viewers
Cathyhjj Sep 23, 2026
333f10b
Record spectrum viewer split validation
Cathyhjj Sep 23, 2026
6a3fd12
Organize Results viewer components
Cathyhjj Sep 23, 2026
8592d8d
Record Results viewer reorganization validation
Cathyhjj Sep 23, 2026
f11c771
Add System theme choice and recover from a missing local workspace
jhuang165 Sep 23, 2026
130dece
Merge feature/dark-mode into master
jhuang165 Sep 23, 2026
61f53db
Show viewer icons in Results panel headers
Cathyhjj Sep 24, 2026
aae489b
fix(backend): run blocking upload and integration routes in the threa…
Cathyhjj Sep 27, 2026
8a1a34e
fix(athena): delete undo/redo snapshots no longer on either stack
Cathyhjj Sep 27, 2026
e318751
fix(backend): cap every multipart upload before Starlette spools it
Cathyhjj Sep 27, 2026
cd2ffce
fix(athena): load the newer project after a stale-revision conflict
Cathyhjj Sep 27, 2026
dfc1cb6
fix(frontend): show HTTPException details and detect revoked integrat…
Cathyhjj Sep 27, 2026
ba688ec
docs: record repository review fixes in weekly report
Cathyhjj Sep 27, 2026
37c4bd5
fix(athena): preserve undo history and accept bounded uploads
Cathyhjj Sep 28, 2026
5b39632
fix(athena): pause queued parameter edits after revision conflict
Cathyhjj Sep 28, 2026
2630446
Load Cu2O EXAFS setup with copper examples
Cathyhjj Sep 28, 2026
9907c39
Document copper example loading and validation
Cathyhjj Sep 28, 2026
a369663
feat(athena): show 2D and 3D wavelet views together
Cathyhjj Sep 28, 2026
0119ebf
Remove Artemis and Athena Web UI labels
Cathyhjj Sep 28, 2026
a990581
fix(athena): keep 2D wavelet plotting area square
Cathyhjj Sep 28, 2026
85e9db1
feat(cif): expand unit cells along lattice axes
Cathyhjj Sep 28, 2026
a2e59cd
docs: record CIF unit-cell expansion validation
Cathyhjj Sep 28, 2026
5a7ffb7
fix(integration): preserve results for unportable recipes
Cathyhjj Sep 29, 2026
4c4c910
feat(artemis): persist group models and fit history
Cathyhjj Sep 29, 2026
721e18d
ci(frontend): verify measured XAS workflows
Cathyhjj Sep 29, 2026
8c789f0
docs: record XAS persistence and regression validation
Cathyhjj Sep 29, 2026
f734eb4
fix(athena): align wavelet range slider with heatmap
Cathyhjj Sep 29, 2026
bfcc510
style(athena): update viewer icons
Cathyhjj Sep 29, 2026
5abaf8c
feat(athena): align spectrum colorbars and add range handles
Cathyhjj Sep 29, 2026
68eef9a
fix(athena): prevent blank page overflow when viewers collapse
Cathyhjj Sep 29, 2026
d269bc6
feat(artemis): identify and visualize CrystalNN first shells
Cathyhjj Oct 1, 2026
6458ed4
docs: record CrystalNN verification and feature commit
Cathyhjj Oct 1, 2026
85e0554
feat(cif): calculate finite-cluster coordination numbers
Cathyhjj Oct 1, 2026
7c93b23
feat(artemis): visualize radial shells and group FEFF paths
Cathyhjj Oct 1, 2026
ff6399e
docs: record radial shell validation
Cathyhjj Oct 1, 2026
be7171c
feat(artemis): add collapsible fitting setup sections
Cathyhjj Oct 1, 2026
6d51320
fix(athena): default multiple spectra viewer to flattened spectra
Cathyhjj Oct 1, 2026
8b77035
Merge upstream/master into master
Cathyhjj Oct 1, 2026
ee5d40f
Make Athena drivable by an agent over HTTP
jhuang165 Oct 1, 2026
7257528
Merge remote-tracking branch 'origin/master' into feature/agent-inter…
jhuang165 Oct 1, 2026
8b760b3
Cap last_operation entries in the summary view
jhuang165 Oct 1, 2026
9025298
Give the workbench test fixture a flattened array
jhuang165 Oct 1, 2026
d19c209
Match the saved fit history select exactly in the e2e spec
jhuang165 Oct 1, 2026
45aa48f
test: fix frontend CI fixtures and synchronization
Cathyhjj Oct 1, 2026
504817b
feat(viewers): add independent k-weight controls
Cathyhjj Oct 1, 2026
340775a
feat(athena): support shared reference foils
Cathyhjj Oct 1, 2026
c5f5a40
refactor(athena): separate normalization and EXAFS settings
Cathyhjj Oct 1, 2026
d8697c9
Merge remote-tracking branch 'origin/master' into feature/agent-inter…
jhuang165 Oct 1, 2026
2e60430
feat(artemis): autosave models and export native Larix sessions
Cathyhjj Oct 1, 2026
ae31f5d
feat(artemis): add visible reversible CIF removal
Cathyhjj Oct 1, 2026
eb3d862
Accept assign_reference in an integration launch grant
jhuang165 Oct 1, 2026
d3b8846
fix(artemis): keep primary FEFF actions visible
Cathyhjj Oct 1, 2026
9c83a6b
feat(athena): confirm project downloads and filenames
Cathyhjj Oct 1, 2026
f7a325f
docs: record project-save confirmation validation
Cathyhjj Oct 1, 2026
718486e
Merge pull request #6 from Dr-XAS/feature/agent-interface
jhuang165 Oct 1, 2026
cb842e0
Check the agent task suite's state assertions by machine
jhuang165 Oct 1, 2026
14bf3e9
Wait for onFitResult rather than racing the status text
jhuang165 Oct 1, 2026
2bf6abf
Fix the friction the third blind run found
jhuang165 Oct 1, 2026
a83a21b
Compare groups in one read, and flag one measurement under two labels
jhuang165 Oct 1, 2026
bbfc52e
Fit for distances without a browser, and fix the fourth run's friction
jhuang165 Oct 1, 2026
c0d15d1
Say in numbers whether a merge's members agree
jhuang165 Oct 1, 2026
3edccad
Record the third and fourth blind runs, and add a distance task
jhuang165 Oct 1, 2026
0eccaff
Rewrap the task suite's opening paragraph
jhuang165 Oct 1, 2026
072aeac
Fix the fifth run's friction: fit capabilities, FEFF summary, concerns
jhuang165 Oct 1, 2026
d4c7101
Settle the fifth run's open questions
jhuang165 Oct 1, 2026
90a592e
Record the sixth blind run, the first on the slimmed guide
jhuang165 Oct 1, 2026
2cd757a
Hand back a finished FEFF job for an identical request
jhuang165 Oct 1, 2026
70a5f9f
Record the seventh run: FEFF ran once in six CLI fits
jhuang165 Oct 1, 2026
11a836c
Count the seventh run's FEFF requests correctly: five, not six
jhuang165 Oct 1, 2026
ad4c904
Say where each bundled structure was measured
jhuang165 Oct 1, 2026
9422931
Record the eighth run: ten of ten on the current guide
jhuang165 Oct 2, 2026
ac1dbc1
fix(artemis): remove persistent model save hint
Cathyhjj Oct 2, 2026
a6627d6
Merge remote-tracking branch 'origin/master'
Cathyhjj Oct 2, 2026
29aa026
Merge pull request #7 from Dr-XAS/feature/agent-suite-run-3
jhuang165 Oct 2, 2026
65c0999
style(athena): unify processing and fitting section headings
Cathyhjj Oct 2, 2026
6ecd015
Merge remote-tracking branch 'origin/master'
Cathyhjj Oct 2, 2026
5da92dc
Show shell classification beside FEFF path filenames
Cathyhjj Oct 2, 2026
a87c9b4
Open prepared Cu2O demo with copper examples
Cathyhjj Oct 2, 2026
6b91bd9
Wait for the effects two frontend tests read, not the commit before them
jhuang165 Oct 2, 2026
a233685
Merge pull request #8 from Dr-XAS/fix/flaky-frontend-tests
jhuang165 Oct 2, 2026
2ca152e
Make FEFF path details collapsible
Cathyhjj Oct 2, 2026
2f26cf7
Merge remote-tracking branch 'origin/master' into codex/feff-path-col…
Cathyhjj Oct 2, 2026
6a32a4f
Move interface descriptions into contextual help icons
Cathyhjj Oct 2, 2026
d80abb6
Improve EXAFS fit report readability
Cathyhjj Oct 2, 2026
790e13f
Merge remote-tracking branch 'origin/master' into HEAD
Cathyhjj Oct 2, 2026
bf892f8
Add EXAFS Debye-Waller disorder models
Cathyhjj Oct 2, 2026
d4cf924
Record EXAFS disorder validation
Cathyhjj Oct 2, 2026
ff22286
Match FEFF absorption edge to the selected spectrum
Cathyhjj Oct 2, 2026
95ba07f
Add Materials Project CIF search and saved structure support
Cathyhjj Oct 2, 2026
143c2a8
Allow users to reorder result viewers
Cathyhjj Oct 2, 2026
881d526
Record viewer sorting validation
Cathyhjj Oct 2, 2026
ea575c6
Move FEFF generation into paths and select spectrum defaults
Cathyhjj Oct 2, 2026
18c6a8d
Record FEFF workflow release validation
Cathyhjj Oct 2, 2026
ea2c599
chore(frontend): include CIF removal test route types
Cathyhjj Oct 2, 2026
12a82a1
docs: reconcile weekly release and validation records
Cathyhjj Oct 2, 2026
30b8e51
Default project saving to JSON and toggle instruction icons
Cathyhjj Oct 2, 2026
eb6e28e
Record project saving and instruction toggle release
Cathyhjj Oct 2, 2026
41ca0f8
Add bug and feedback reporting to a local bug library
jhuang165 Oct 2, 2026
a3ce60a
Merge branch 'fix/flaky-frontend-tests' into merge/bug-reporting
jhuang165 Oct 2, 2026
2569bd0
Add agent transcript replay and numerical run comparison
jhuang165 Oct 5, 2026
6e5acda
Capture replayable CLI and HTTP agent baseline
jhuang165 Oct 5, 2026
c8ef41d
Export shared measurements for native-tool comparison
jhuang165 Oct 5, 2026
dd8169f
Compare native and app agents on five matched copper tasks
jhuang165 Oct 5, 2026
cfc5e07
Record verified native alignment and Fourier fixes with fresh agent e…
jhuang165 Oct 5, 2026
427b61c
Fix saved-fit browser assertion after status wording change
jhuang165 Oct 5, 2026
7f82058
Merge pull request #9 from Dr-XAS/fix/flaky-frontend-tests
jhuang165 Oct 5, 2026
ee1dde1
Replay recorded FEFF calculations and fits with numerical checks
jhuang165 Oct 6, 2026
366f60d
Record repeated native and app comparisons with scientific replay evi…
jhuang165 Oct 6, 2026
f8ae23f
Answer a retried import instead of importing the same scan twice
jhuang165 Oct 6, 2026
e71720b
Keep the fluorescence multiplier readable on narrow screens
jhuang165 Oct 6, 2026
f486d70
Accept Artemis windows exactly at the minimum width
jhuang165 Oct 6, 2026
df636f1
Say why Larch's kmax suggestion cannot be applied instead of failing
jhuang165 Oct 6, 2026
b13a8c9
Stop saying "paths" twice for unmatched FEFF paths
jhuang165 Oct 6, 2026
726a0fb
Refuse LCF constraints that would fit a different model
jhuang165 Oct 6, 2026
e4b25ef
Give analysis ranges the units and limits of the chosen signal
jhuang165 Oct 6, 2026
00baeba
Open tool dialogs without opening their title help
jhuang165 Oct 6, 2026
f84ef25
Merge pull request #10 from Dr-XAS/fix/qa-import-duplicate-and-mobile…
jhuang165 Oct 6, 2026
4b78683
Merge pull request #11 from Dr-XAS/fix/qa-artemis-windows-and-kmax-su…
jhuang165 Oct 6, 2026
af6d20b
Merge pull request #12 from Dr-XAS/fix/qa-analysis-units-help-lcf-opt…
jhuang165 Oct 6, 2026
02f3374
Add the October beamline QA reports, marked fixed
jhuang165 Oct 6, 2026
e0e670e
Attach the merge shortcut listener during commit
jhuang165 Oct 6, 2026
004de83
Merge pull request #14 from Dr-XAS/fix/merge-shortcut-listener-race
jhuang165 Oct 6, 2026
54b681f
Merge pull request #13 from Dr-XAS/docs/qa-reports-2026-10
jhuang165 Oct 6, 2026
d934509
Compare alignment covariance with native Larch replayed on this machine
jhuang165 Oct 6, 2026
a3cb73c
Skip native XDI validator tests where the bundled library cannot load
jhuang165 Oct 6, 2026
cc099c1
Add fluorescence XAS from XRF fitting, project import and analysis tools
xyin-anl Oct 6, 2026
e69b34e
Merge pull request #16 from Dr-XAS/feat/xrf-fluorescence-xas
xyin-anl Oct 6, 2026
0be4173
Merge pull request #15 from Dr-XAS/fix/local-backend-suite-on-arm64
jhuang165 Oct 6, 2026
73395e1
Allow the Materials Project key through the private integration config
jhuang165 Oct 6, 2026
dd47cdf
Merge pull request #17 from Dr-XAS/feat/integration-mp-api-key
jhuang165 Oct 6, 2026
3aff2cd
Reset the viewer layout during commit, not after it
jhuang165 Oct 6, 2026
3a7f108
Say the QA fixes are live, not undeployed
jhuang165 Oct 6, 2026
26c7101
Add custom CIF uploads to Artemis projects
Cathyhjj Oct 6, 2026
1df3aaf
Record custom CIF upload release validation
Cathyhjj Oct 6, 2026
6697e65
Show CIF bond lengths on hover
Cathyhjj Oct 6, 2026
eaa38f8
Show CIF bond lengths on hover
Cathyhjj Oct 6, 2026
3cb4dff
Fit the recovery module's detectors through the server pool
jhuang165 Oct 6, 2026
32cf50a
Add right-click fit settings copy to marked groups
Cathyhjj Oct 6, 2026
dcd1940
Record marked-group fit settings release validation
Cathyhjj Oct 6, 2026
4494a53
Add CIF-based EXAFS simulation
Cathyhjj Oct 6, 2026
3a6b942
Record CIF EXAFS simulation release validation
Cathyhjj Oct 6, 2026
9a0781e
Limit FEFF path viewer to one CIF source at a time
Cathyhjj Oct 6, 2026
e1b1584
Add project-specific CIF names
Cathyhjj Oct 6, 2026
67032f5
Record CIF rename release validation
Cathyhjj Oct 6, 2026
7ebc07c
Merge pull request #20 from Dr-XAS/fix/xrf-ci-timeout
jhuang165 Oct 6, 2026
389747d
Merge branch 'master' into fix/viewer-reset-race
jhuang165 Oct 6, 2026
f7aa7fd
Merge pull request #18 from Dr-XAS/fix/viewer-reset-race
jhuang165 Oct 6, 2026
2963e69
Fix CIF previews for explicit P1 atom lists
Cathyhjj Oct 6, 2026
a481b74
Record P1 CIF preview release validation
Cathyhjj Oct 6, 2026
f492463
Keep CIF center and first-shell element colors consistent
Cathyhjj Oct 6, 2026
0d4ba86
Document CIF center display and release validation
Cathyhjj Oct 6, 2026
8ae097f
Move EXAFS fit action and saved history into workflow order
Cathyhjj Oct 6, 2026
5ba0bf5
Merge remote-tracking branch 'origin/master' into docs/qa-deployed-st…
jhuang165 Oct 6, 2026
1985645
Make EXAFS coordination-number fitting discoverable
Cathyhjj Oct 6, 2026
55836cc
Check watcher bootstrap refusals by message and run real flock in CI
jhuang165 Oct 6, 2026
2d99abf
Record coordination-number release validation
Cathyhjj Oct 6, 2026
25c17e7
Remove manual Athena edge identity selector
Cathyhjj Oct 6, 2026
f683b0c
Record edge identity selector release validation
Cathyhjj Oct 6, 2026
174926e
Add drag resizing to all artifact viewers
Cathyhjj Oct 6, 2026
71aa3de
Set spectra viewers default R range to 0-6 Angstrom
Cathyhjj Oct 6, 2026
98de062
Record artifact viewer resize release
Cathyhjj Oct 6, 2026
f0c86b4
Merge concurrent master updates into artifact resize release
Cathyhjj Oct 6, 2026
1710045
Reuse exact XRF basis pieces across calibration evaluations
jhuang165 Oct 6, 2026
aaa97ee
Show single spectrum legend by default
Cathyhjj Oct 6, 2026
bb0e888
Expand opt-in instructions across XAS controls
Cathyhjj Oct 6, 2026
0f95537
Record field instruction release validation
Cathyhjj Oct 6, 2026
088e0ad
Preview CIF structures before project attachment
Cathyhjj Oct 6, 2026
4a94858
Record CIF selection preview release validation
Cathyhjj Oct 6, 2026
f47bada
Allow custom CIF display radius and move resize handle
Cathyhjj Oct 6, 2026
430b5a4
Open newly added FEFF path details
Cathyhjj Oct 6, 2026
70ae06b
Disable CN value input while fitting coordination number
Cathyhjj Oct 6, 2026
efcf38d
Read the XRF detector calibration from the scan file
xyin-anl Oct 6, 2026
adec00b
Keep Larch-Web credits visible beneath the title
Cathyhjj Oct 6, 2026
fccdc75
Record header credits release validation
Cathyhjj Oct 6, 2026
c9777e5
Merge pull request #19 from Dr-XAS/docs/qa-deployed-status
jhuang165 Oct 6, 2026
840e02e
Merge pull request #21 from Dr-XAS/ci/watcher-reconcile-flock
jhuang165 Oct 6, 2026
a6bddc7
Add shared-memory adapters and record the drxas deploy host in the ma…
jhuang165 Oct 6, 2026
82d8fe4
Merge pull request #23 from Dr-XAS/perf/xrf-xraydb-cache
jhuang165 Oct 6, 2026
d163be0
Merge origin/master and retain current CIF viewer behavior
Cathyhjj Oct 6, 2026
fd3640a
Add simulated EXAFS spectra to the project data list
Cathyhjj Oct 6, 2026
eee7da3
Merge pull request #22 from Dr-XAS/xrf-auto-calibration
xyin-anl Oct 6, 2026
2c60893
Keep the goldendale profile's selector in the deploy manifest
jhuang165 Oct 6, 2026
1c12cd1
Merge pull request #24 from Dr-XAS/chore/shared-memory-adapters
jhuang165 Oct 6, 2026
6519b35
Stop a Dr.XAS dev restart from failing XrayLarch deploys
jhuang165 Oct 6, 2026
b250083
Change theory tag to amber
Cathyhjj Oct 6, 2026
85ea639
Merge pull request #25 from Dr-XAS/ops/advisory-dev-siblings
jhuang165 Oct 6, 2026
d6381ab
Preserve uploaded CIF names in simulated spectra
Cathyhjj Oct 6, 2026
338733a
Merge remote-tracking branch 'origin/master'
Cathyhjj Oct 6, 2026
4c02673
Improve FEFF path selection and results layout
Cathyhjj Oct 6, 2026
707bb5f
Prefer Kraft reference energies for calibration
Cathyhjj Oct 6, 2026
a7d74b1
Fix CIF previews with rationalized fractional coordinates
Cathyhjj Oct 6, 2026
edb6ba8
Add Dr.XAS health colors to EXAFS fit results
Cathyhjj Oct 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .agents/skills
Empty file added .claude/skills/.gitkeep
Empty file.
6 changes: 6 additions & 0 deletions .codex/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[features]
memories = false

[memories]
generate_memories = false
use_memories = false
70 changes: 70 additions & 0 deletions .github/workflows/test-web-backend-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Web backend release dependencies

on:
push:
branches: [master]
pull_request:
branches: [master]

permissions:
contents: read

jobs:
release-backend:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# Every test runs under a hard per-test limit, so one slow or stuck test
# fails by name instead of the whole job being cancelled. The XRF
# extraction tests run full detector calibrations and get their own job.
- suite: main
select: not xrf_slow
per_test_seconds: 120
minutes: 25
- suite: xrf
select: xrf_slow
per_test_seconds: 180
minutes: 40
name: release-backend (${{ matrix.suite }})
timeout-minutes: ${{ matrix.minutes }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check deployment and watcher regressions
shell: bash
run: |
bash tests/test_deploy_xraylarch_web.sh
bash tests/test_deploy_release_dependencies.sh
bash tests/test_watcher.sh
bash tests/test_watcher_bootstrap.sh
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Build the release backend and verify dependencies in a clean environment
shell: bash
env:
SELECT: ${{ matrix.select }}
PER_TEST_SECONDS: ${{ matrix.per_test_seconds }}
run: |
set -Eeuo pipefail
python -m venv "$GITHUB_WORKSPACE/backend/.venv"
XRAYLARCH_WEB_TEST_MODE=1 source scripts/deploy-xraylarch-web.sh
REQUESTED_SHA="$(git rev-parse HEAD)"
validate_sha "$REQUESTED_SHA"
SAFE_PATH="$(dirname "$(command -v python)"):/usr/local/bin:/usr/bin:/bin"
DATA_ROOT="$RUNNER_TEMP/xraylarch-release-data"
CANDIDATE_DATA="$RUNNER_TEMP/xraylarch-release-candidate"
CLEAN_HOME="$CANDIDATE_DATA/home"
mkdir -p "$DATA_ROOT" "$CLEAN_HOME" "$CANDIDATE_DATA/runtime/pycache"
install_release_backend "$GITHUB_WORKSPACE"
verify_release_backend "$GITHUB_WORKSPACE"
# The per-test limit is a test-runner plugin only, added after the
# release environment has been verified, so it never reaches a release.
"$GITHUB_WORKSPACE/backend/.venv/bin/python" -m pip install --quiet pytest-timeout==2.3.1
cd "$GITHUB_WORKSPACE/backend"
run_clean "$GITHUB_WORKSPACE/backend/.venv/bin/python" -m pytest -p no:cacheprovider -q \
-m "$SELECT" --timeout="$PER_TEST_SECONDS" --durations=25 \
--basetemp "$RUNNER_TEMP/xraylarch-full-backend-tests" tests
66 changes: 66 additions & 0 deletions .github/workflows/test-web-frontend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Web frontend

on:
push:
branches: [master]
pull_request:
branches: [master]

permissions:
contents: read

concurrency:
group: web-frontend-${{ github.ref }}
cancel-in-progress: true

jobs:
frontend:
runs-on: ubuntu-latest
timeout-minutes: 35
env:
NEXT_TELEMETRY_DISABLED: '1'
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version-file: frontend/.nvmrc
cache: npm
cache-dependency-path: frontend/package-lock.json
- run: npm ci
- run: npm run typecheck
- run: npm test
- run: npm run build
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install the release backend for browser acceptance
working-directory: .
shell: bash
run: |
set -Eeuo pipefail
python -m venv "$GITHUB_WORKSPACE/backend/.venv"
XRAYLARCH_WEB_TEST_MODE=1 source scripts/deploy-xraylarch-web.sh
REQUESTED_SHA="$(git rev-parse HEAD)"
validate_sha "$REQUESTED_SHA"
SAFE_PATH="$(dirname "$(command -v python)"):/usr/local/bin:/usr/bin:/bin"
DATA_ROOT="$RUNNER_TEMP/xraylarch-frontend-data"
CANDIDATE_DATA="$RUNNER_TEMP/xraylarch-frontend-candidate"
CLEAN_HOME="$CANDIDATE_DATA/home"
mkdir -p "$DATA_ROOT" "$CLEAN_HOME" "$CANDIDATE_DATA/runtime/pycache"
install_release_backend "$GITHUB_WORKSPACE"
- run: npx playwright install --with-deps chromium
- name: Measured spectra, saved EXAFS fits, and mounted integration lifecycle
run: npm run test:e2e -- --config=playwright.ci.config.ts
- name: Upload browser failure evidence
if: failure()
uses: actions/upload-artifact@v4
with:
name: web-frontend-browser-failures
path: frontend/test-results
if-no-files-found: ignore
retention-days: 7
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,31 @@ Thumbs.db
*iframe_figures
.vscode/
.empty/

backend/.venv/
backend/data/
backend/.pytest_cache/
backend/*.egg-info/
frontend/node_modules/
frontend/.next/
frontend/.next-e2e/
frontend/.next-e2e-mounted/
frontend/.next-verify/
frontend/.next-artemis/
frontend/.next-artemis-check/
frontend/.next-wavelet-resize-e2e/
frontend/.next-*/
!backend/tests/fixtures/demeter-athena-json.prj
!backend/tests/fixtures/athena-detector-probe.prj
!backend/tests/fixtures/demeter-mee-LaCoO3.prj
frontend/next-env.d.ts
frontend/*.tsbuildinfo
frontend/playwright-report/
frontend/test-results/
.eggs/
.coverage
*code-workspace
demo/data/

# Real-data outputs, numbers and screenshots: never committed.
demo/private/
Loading