docs/add session summary + test checklist for this branch's fixes
Brief AI_docs note covering commits 6c3d603..8a7a350: what changed and what to test (automated + manual/simulated-session) to confirm the branch is in good shape before relying on it at the beamline. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+59
@@ -0,0 +1,59 @@
|
||||
# flomni/lamni parity fixes — 2026-07 session summary
|
||||
|
||||
Branch `fixes/lamni_hw_commissioning`, commits `6c3d603..8a7a350`. Very brief
|
||||
by design — `git show <hash>` on any commit below has the full reasoning and
|
||||
diff; that's the source of truth if something needs revisiting.
|
||||
|
||||
## What was done
|
||||
|
||||
1. **`6c3d603`** — lamni: end-of-scan timing overview (total time / time lost
|
||||
to gaps) + scilog write, matching flomni. `_tomo_scan_at_angle()` wrapped in
|
||||
`@scan_repeat` so any interruption (not just the one `AlarmBase` case
|
||||
already handled) redoes the whole projection. `scan_interlock` now enabled
|
||||
at `tomo_scan()` start (was flomni-only before).
|
||||
2. **`cdfc023`** — tomo queue hover tooltip no longer shows golden-ratio
|
||||
fields on a non-golden job (or type-1-only fields on a golden job).
|
||||
3. **`382e325`** — the manual/constant shift is now printed alongside
|
||||
correction 1/2 + x-ray-eye correction during a projection, both setups.
|
||||
4. **`80f6972`** — lamni's `tomo_parameters()` now shows the active
|
||||
`at_each_angle_hook`, matching flomni.
|
||||
5. **`abc2a3d`, `4ada8e8`** — new `tomo_queue_reacquire(job_index,
|
||||
projection_number)`: reopen any job (even "done") at an earlier
|
||||
projection, cascades every later job to `pending`. New `tomo_queue_resume()`
|
||||
alias for `tomo_queue_execute()`. Docs updated in
|
||||
`docs/user/ptychography/{lamni,flomni}.md`.
|
||||
6. **`8a7a350`** — `tomo_parameters()` (CLI) and the GUI (`tomo_params.py`,
|
||||
live field) now warn if the current settings would produce fewer than 20
|
||||
Fermat-scan points. Required converting `FlomniFermatScan`/
|
||||
`LamNIFermatScan`'s position math to pure `@staticmethod`s (same
|
||||
algorithm, no behavior change — verified against their existing
|
||||
exact-position tests).
|
||||
|
||||
**Parked, not done:** `DataDrivenLamNI`'s broken `_start_beam_check()` calls
|
||||
(missing mixin) — deferred on request, separate task if ever needed.
|
||||
|
||||
## What to test to confirm everything's still healthy
|
||||
|
||||
**Automated** — should show `412 passed, 15 skipped`:
|
||||
```
|
||||
/opt/bec_deployments/production/bec_venv/bin/python -m pytest tests/ -q
|
||||
```
|
||||
|
||||
**Manual, on a simulated or real session, before relying on this at the
|
||||
beamline:**
|
||||
|
||||
- `lamni.tomo_scan()` (short run): "Tomoscan finished" banner + timing
|
||||
summary at the end; force a mid-scan exception once and confirm the same
|
||||
projection retries instead of the scan aborting.
|
||||
- `lamni.tomo_queue_add()` a couple of jobs → `tomo_queue_execute()` →
|
||||
`tomo_queue_reacquire(0, <n>)` on a finished job → confirm status flips and
|
||||
later jobs go `pending` → `tomo_queue_resume()` re-runs them.
|
||||
- `lamni.tomo_parameters()`: confirm the hook line (if one's registered) and
|
||||
the "Estimated Fermat scan points" line both appear, with a warning shown
|
||||
for a deliberately tiny piezo range / coarse step.
|
||||
- GUI (`TomoParamsWidget`, lamni active): hover a queued job and confirm only
|
||||
relevant fields show; confirm the new Fermat-points field updates live and
|
||||
turns orange under the same tiny-FOV condition.
|
||||
- A real `lamni_fermat_scan` with too few points should still hit its
|
||||
`ScanAbortion` safety net unchanged (the warning above is advisory, not a
|
||||
replacement for it).
|
||||
Reference in New Issue
Block a user