Commit ae418f7b authored by Bogdan Vacaliuc's avatar Bogdan Vacaliuc
Browse files

manual adjustments and cleanup

parent a8d0b853
Loading
Loading
Loading
Loading
+15 −38
Original line number Diff line number Diff line
@@ -25,11 +25,9 @@ Sources used for this summary:

## Attendees (reconstructed from notes)

Scientists & back-end devs present or named in the room: John (Hetrick),
Valeria Lauter, Tim Charlton, Erik Watkins, Marie Backman, Becky Anderson,
Volker Urban, Jim Browning, Glen Elsarboukh, Kevin Tactac, Lauren (Lauren?
mentioned re: iPD / template tabs). Bogdan chaired. Erik arrived late (before
Session 1, re-entered notes at p.16).
Scientists & software devs present or named in the room: John (Hetrick),
Valeria Lauter, Tim Charlton, Erik Watkins, Asmaa Qdemat,Marie Backman, Becky Anderson,
Volker Urban, Jim Browning, Glass Elsarboukh, Kevin Tactac.

---

@@ -59,7 +57,7 @@ Valeria, Becky and Tim. Key points captured in the notes:
### Where the code is today

- **lr_reduction (refined):** "good ideas" in the rewrite, but UI, business
  logic and interstate coupling all handled in one place; a change in one
  logic and inter-state coupling all handled in one place; a change in one
  tends to affect the others.
- **QuickNXSv2:** approximately follows the **Model-View-Presenter** pattern
  and is therefore the better starting point for a clean separation. What is
@@ -71,7 +69,7 @@ Valeria, Becky and Tim. Key points captured in the notes:
- **One data-reduction UI for both instruments**, sitting on top of a shared
  back-end that exposes the same surface for LR and MR, with per-instrument
  specialization encapsulated below.
- The mechanism Marie proposed for handling the LR/MR differences: a
- The mechanism Kevin proposed for handling the LR/MR differences: a
  **Strategy pattern** — each reduction-phase function is parameterized by an
  instrument-specific descriptor (e.g. a `LR` dict and an `MR` dict) so the
  orchestration code stays common.
@@ -94,7 +92,7 @@ Valeria, Becky and Tim. Key points captured in the notes:
  question was why LR has drifted toward a new workflow separate from
  QuickNXS.
- **Fidelity / correctness first.** John's warning (carefully addressed to
  Volker): *"the one problem in the back-end is the MR → ref mapping"* — we
  Volker): *"the one problem in the back-end is the MR → LR mapping"* — we
  should not fix problems by putting them aside; they may resurface.
- **HTML report.** Tim observed that reproducing results via HTML reports is
  today sufficient for many users (report answers most questions modulo
@@ -102,7 +100,7 @@ Valeria, Becky and Tim. Key points captured in the notes:

---

## 11:00 – 12:00 · Scientist Assessment (continued) — the user experience
## 11:00 – 12:00 · Scientist Input  (continued) — the user experience

This block was originally the "Developer Assessment" slot on the agenda, but
in practice the scientists kept the floor and elaborated the UX requirements
@@ -144,7 +142,7 @@ a unified back-end must satisfy:

- Not a preview. A **check of how good reduction has been, given the
  instrument setup**.
- Leah/Becky: give me the reflectivity *and* let me see intermediate steps
- Becky: give me the reflectivity *and* let me see intermediate steps
  (toggle solve / intermediate stages on/off; plot of projected peak vs.
  detector; modeled vs. measured shape). "Show exactly where binning is — in
  R/Q, see what the algorithm is binning along, trace along angle or curve
@@ -188,7 +186,7 @@ a unified back-end must satisfy:
  **ORSO format** was discussed as a candidate for chunked, self-describing
  output.

**12:08 demo:** Bogdan/team showed `mr-launcher` running the new workflow
**12:08 demo:** Becky+Erik showed `nr_launcher` running the new workflow
just before lunch.

---
@@ -203,7 +201,7 @@ notes for this block.
## 13:00 – 15:00 · Session 1 — Deep dive into reduction semantics

The afternoon session worked through concrete reduction semantics, largely
in front of QuickNXSv2 dev and `mr-launcher`. Notes from pages 14–17 of the
in front of QuickNXSv2 dev and `nr_launcher`. Notes from pages 14–17 of the
PDF:

### Matching templates to runs
@@ -275,10 +273,10 @@ candidate for an early tier-1 PR.
  command-line switch that fixes the mode for a session. *This was not
  closed on Day 1 — revisit.*
- Related: this architecture also naturally **repurposes to a batch
  processor** (trade the UI for a liquid/MR function call), which is how
  processor** (trade the UI for a LR/MR function call), which is how
  autoreduce re-enters the picture.

### Auto-select runs (after Erik arrived)
### Auto-select runs (after Erik rejoins)

- Q: Is there a way to auto-select runs?
- A: Input a range of runs; metadata in each run tells the series. Sort by
@@ -296,7 +294,7 @@ candidate for an early tier-1 PR.

- Four-in flips in template (`thip` – Sample, `that` – Sample, `this`).
- Point: need to match up (e.g. substrate / DAS). Off-spec run numbers
  captured: `nfs59 db 160, 161`.
  captured: `44159+44160+44161` db 44148`.
- Finishing note, written in a box on page 17: **"Agree QuickNXSv2 is V1\*
  + modularize (LR) + can't block it."** This is the Day 1 threshold-goal
  agreement.
@@ -306,25 +304,7 @@ candidate for an early tier-1 PR.
## 15:00 – 16:30 · pyNEX catch-up (optional)

Susan Hubbard had reserved the original pyNEX room, so the group came to
the hack-a-thon room and hosted the discussion here. Jim Browning's post-doc
(the pyNEX developer) led it. The handwritten notes for this block are
sparse; from the transcripts:

- pyNEX was pitched as an alternative to Mantid for reading vision data.
- The session reviewed off-specular calculation: the speaker walked
  attendees (for those new to it) through specular vs off-specular:
  *specular = Q vector matches incident and exit angles; off-specular =
  anywhere else; the material's nuclear variations / discontinuities drive
  the offset from Snell's law.* Good context for the REF_M team but
  unrelated to modularization decisions.
- Agreed to run the *dev* QuickNXSv2 (new workflow branch) for
  demonstration. Explored stitching, the "magic wand" auto-select button
  (poorly tested, no one remembers using it recently — candidate for
  deprecation), direct-beam matching, smoothing, polynomial fits, K factor,
  critical-edge normalisation, and DAT-file save.
- Attendees surfaced ergonomic complaints that echo the morning
  (black-boxed caches, unclear when results are saved, lots of clicking
  when switching samples).
the hack-a-thon room and hosted the discussion here.

---

@@ -395,7 +375,7 @@ sparse; from the transcripts:
  I've attributed it loosely.
- A few handwritten shorthand tokens were ambiguous to me — in
  particular the "UDICE" and "realm" annotations on pages 12 and 15,
  and several speaker initials where Valeria / Volker / Vallerie were
  and several speaker initials where Valeria / Volker were
  hard to disambiguate. Please correct me in your review and I will
  fold the corrections into the Day 2 summary.
- The `quicknxsv2-modularization` branch's pre-meeting deck
@@ -405,6 +385,3 @@ sparse; from the transcripts:
  discussion followed.

---

*Ready for your review. Please flag anything I got wrong or missed, and
I will update before drafting the Day 2 summary.*