Commit 01ed1737 authored by Vacaliuc, Bogdan's avatar Vacaliuc, Bogdan
Browse files

12-parameter-propagation-and-qt-leakage: Qt/config flow deep-dive



New document addressing the scientist-reported concern that Qt data
structures are referenced in parameter extractions inside the
mr_reduction path, and that this propagation is at the root cause of
recurring defects. Conclusion up front: zero Qt imports in the
data_handling/ or mr_reduction/ trees, so no Qt *type* leaks into
the back-end. The coupling that scientists perceive is structural —
Configuration class-attribute globals, Qt signal timing, and a
4-deepcopy state pipeline whose class-attribute layer bypasses the
deepcopy isolation.

Structure:

  §1 Four-layer pipeline diagram: Qt widgets → event handlers →
     Configuration distribution → MRR invocation. Every step named,
     with file:line citations.
  §2 Qt widget → Configuration extraction code, showing that every
     value is a Python primitive, not a Qt type.
  §3 BinningType type-drift bug: two paths write different types to
     the same attribute.
  §4 Class-attribute-as-mutable-global analysis. Explicit git log
     evidence (commit 0ff9dfe) that the pattern caused test-order
     dependencies and was worked around by a test-only classmethod.
  §5 Three patterns that produce the "Qt leaked into reduction"
     perception without Qt types actually being imported:
       A — widget-value extraction looks Qt-coupled in tracebacks
       B — signal-triggered synchronous reduction (SEGV commit
           21d4d91)
       C — Qt event ordering + shared class state
  §6 Git archaeology of 12 commits spanning 2024-04 to 2026-04
     whose fixes trace to the parameter-propagation architecture.
  §7 The _as_ints divergence — two local functions in one file
     produce one-pixel-off parameter values between CSD and
     NexusData reduction paths. Concrete example of the debt.
  §8 Architectural recommendations in 7 tiers from cheap
     (single _as_ints, 30 min) through invasive (reactive
     configuration bus, 2-3 weeks).
  §9 Out-of-scope items for follow-up.

This is the authoritative writeup of a concern that has come up
repeatedly in scientist discussions.

Co-Authored-By: default avatarClaude Opus 4.7 (1M context) <noreply@anthropic.com>
parent 0a2ad9c2
Loading
Loading
Loading
Loading
+538 −0

File added.

Preview size limit exceeded, changes collapsed.