Skip to content

[Sad Catapella N8][Scientific reporting] range_check_issues silently combines incompatible range settings and coerces channel identifiers #59

Closed

Description

@guijacquemet

Baseline and classification

Final normalization audit Batch 8 at f784c95e3049483f87466150ffc5764375fa631d. Confirmed source-level reporting/validation gap, not a demonstrated corruption of source histograms. No package tests executed.

Evidence

Deterministic example

Provide two narrow checks in channel 0: plane A with histogram_range='minmax', robust_quantiles=(0.01,99.99), min_central_bins=100; plane B with histogram_range='robust', robust_quantiles=(1,99), min_central_bins=200. The function emits one warning describing both as if their thresholds and causal explanations matched the first plane. Reversing input order changes the scientific interpretation of the same evidence. If a caller passes channel 0.9, it becomes C0 silently.

Impact

Misleading QC advice about when robust binning would help, inconsistent threshold provenance and wrong channel labels for malformed input. This is not a claim that preprocessing currently mixes settings in one normal run; caller-side homogeneous settings may prevent the issue there.

Fix / acceptance

Validate channel as a nonnegative integer (reject boolean/fraction/string). Validate RangeCheck field consistency and group by homogeneous settings signature, or reject mixed settings with plane/channel references; retain one warning per channel when settings truly match as fixed by N60. Do not silently pick a 'first' configuration as representative of incompatible measurements. Test mixed histogram_range, robust_quantiles, central_percentiles and min_central_bins, permutations of input order, valid group, malformed channel, and stable issue text. Numba has no role.

Activity

  1. added a commit that references this issue on Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions