# Datasets kernel reuse inventory All 61 top-level functions from the recorded metrics.py source are accounted for. New native diagnostics are a candidate for Methods1.3.10; publication and binary availability are separate checks. | Function | Decision | Owner / interface | Protocol decision | | --- | --- | --- | --- | | `_nulls` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_as_2d_float` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_finite_matrix` | migrate | Input adapter; explicit valid_mask + finite zero-filled matrix | No numeric zero substituted as a valid measured observation. | | `_axis` | deprecated | Legacy compatibility only; strict axis_values + axis_basis on new native protocols | Silent fallback from malformed physical axis to indices is not admitted to shared physical protocol. | | `_safe_nanmean` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_safe_nanstd` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_safe_nanpercentile` | migrate | Methods native aggregate; native type7 median/p95 on eligible rows | Retained only by distinct legacy/UI protocols; new shared metrics use native outputs. | | `_finite_values` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_finite_float` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_ratio` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_saturate` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_p95_over_median` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_robust_outlier_mask` | delegate | Methods; diagnostics.spectral_events_qc | Exact median/MAD1.4826 with sample-std fallback tested on complete finite matrices; masks change eligible denominator explicitly. | | `_sam_to_ref` | delegate | Methods; diagnostics.spectral_reference_qc | SAM radians, pairwise-valid, zero norms unavailable. | | `_basic_pca` | replace | Methods; diagnostics.pca_reference_qc / existing FlexiblePCA | Exact diagnostic reference and original randomized fast estimator are separate declared modes. | | `_summary_median_p95_max` | migrate | Methods aggregates + Preflight protocol; native median/p95; existing summary maximum | No Rust/Python percentile recomputation for new Methods signals. | | `class_balance` | keep | Preflight target/task protocol; n4m_stats_group_means / descriptive class counts are different protocols | No target access in intrinsic development_real; preserve absent-class semantics. | | `distribution_shape` | keep | Preflight target/task protocol; existing native summary is not an equivalent DAgostino omnibus test | Do not relabel moments as a normality test or imply predictive validation. | | `spectral_quality` | replace | Methods descriptive kernels + Preflight protocol; diagnostics.spectral_noise_proxy; utilities summaries | Legacy mean-of-mean signal differs from global mean(abs(X)); saturation=max occupancy is a descriptive proxy only. | | `spectral_integrity` | delegate | Preflight integrity protocols; integrity.missing_cells + n_cells in real QualificationReport | Mask count is not legacy nan_ratio; preserve denominator and native identity. | | `spectral_amplitude` | keep | Preflight physical summary protocol; n4m_preflight_summary_compute; n4m_stats_group_means | Mean/variance available; physical signed AUC requires declared monotonic axis, no index-to-nm substitution. | | `spectral_noise` | migrate | Methods + Preflight versioned descriptive protocol; diagnostics.spectral_noise_proxy | Global MAD(diff2)*1.4826/sqrt6 + signal/noise and20log10 parity; legacy bandwise estimator retained separately, not equated with SG noise. | | `spectral_artefacts` | replace | Methods + Preflight; diagnostics.spectral_events_qc | Native pooled jump/spike fractions preserve eligible denominators; true clipping requires declared sensor bounds; observed extrema proxy separately named. | | `spectral_shape_metrics` | keep | Preflight descriptive shape protocol; existing resampling/summary APIs are primitives, not identical edge-std heuristic | Legacy index derivatives and normalized-axis baseline remain explicitly legacy; no claim of physical curvature equivalence. | | `pca_outlier_metrics` | delegate | Methods train-fitted diagnostics; diagnostics.pca_reference_qc; n4m_stats_pca_monitor; batch utilities.hotelling_t2/q_residuals | Choose declared train-reference vs batch vs out-of-fold monitor; no mixing fitted populations or Q-limit approximations. | | `reference_similarity` | delegate | Methods reference diagnostics + Preflight; diagnostics.spectral_reference_qc | RMS/SAM/affine medians+p95 computed natively; mean reference or supplied frozen reference; masked rows differ explicitly from legacy column imputation. | | `_affine_reference_metrics` | delegate | Methods; diagnostics.spectral_reference_qc | Native OLS offset/gain/residual RMS and absolute p95 delta, tested against independent lstsq. | | `_shift_reference_metrics` | keep | Preflight alignment hypothesis protocol; n4m_transform_resampler_* is alignment operator, not identical peak/xcorr-lag heuristic | Peak locations and cross-correlation shifts are not automatically sensor wavelength drift; physical spacing must be uniform/declared. | | `repeatability_metrics` | keep | Preflight sampling/identity protocol using native primitives; n4m_stats_group_means; diagnostics.spectral_reference_qc; native variance components | Only documented repeated-unit IDs may define groups; no biological/technical replication inferred from multiplicity. | | `dataset_structure_metrics` | replace | Methods algorithms + Preflight representation protocol; diagnostics.local_density; n4m_preflight_nearest_neighbors; n4m_cluster_hdbscan; n4m_preflight_adjusted_rand_index | Real LOF is provided; kNN distance ratio must retain distinct proxy name. HDBSCAN is not an equivalent DBSCAN/IsolationForest implementation. | | `aggregate_profile_scores` | keep | Consumer/Preflight findings policy; No Methods kernel: aggregation of heuristic evidence | Preserve unknown evidence and disclose heuristic scale, no calibrated probability. | | `_profile_scores` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `profile_score_labels` | keep | Consumer presentation; No Methods numerical API | Labels belong to the UI/consumer. | | `metric_catalog` | keep | Consumer metadata; No Methods numerical API | Metric labels/units/reasons remain versioned consumer metadata. | | `technology_guidance` | keep | Preflight/consumer interpretation; No Methods numerical API | Technology/units/measurement protocol required; guidance is not a measured cause. | | `bug_method_catalog` | keep | Preflight/consumer interpretation; No Methods numerical API | Hypotheses/actions are not generic numerical kernels. | | `_metric_value` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_signal_scale` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_snr_alert` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_metric_alert_score` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_score_level` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_score_interpretation` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `metric_score_rows` | keep | Consumer presentation; No Methods numerical API | Heuristic alert scores remain labelled, missing observations stay unknown. | | `_diagnostic_signals` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_max_score` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_scale_score` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_sum_score` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_mean_score` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_low` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `_diagnostic_row` | keep | Consumer adapter/heuristic policy; No Methods algorithm added | Pure conversion, null propagation, presentation or declared heuristic combination; no independent measured metric claim. | | `diagnostic_hypotheses` | keep | Preflight findings protocol; No Methods numerical API | Possible causes remain heuristic signatures with unknown/unvalidated confidence; no causal probability claim. | | `spectral_profile` | migrate | Consumer orchestration; optional QualificationReport; native metric identity/provenance | Legacy mode retained for protocol compatibility, shared mode consumes real report without recomputing provider metrics. | | `wavelength_spacing` | keep | Preflight physical axis protocol; n4m_transform_resampler_* is an operator, not source metadata | Reject missing/nonmonotonic/unknown units for physical metrics; explicit index mode is separate. | | `effective_rank` | delegate | Methods exact full-spectrum moments + Preflight; n4m_preflight_pca_compute{,_resolved} | Participation ratio requires true full moments. Truncated spectrum lower bound explicitly distinct; new PCA reference never fabricates full moments. | | `spectral_curve` | keep | Consumer descriptive visualization; n4m_preflight_summary_compute only partly equivalent | Per-band5/95quantile protocol is retained in legacy visualization until an exact native multidimensional summary is qualified. | | `pca_score_plot` | migrate | Consumer selection/projection; existing FlexiblePCA fit/transform; diagnostics.pca_reference_qc | Only subsampling/serialization belongs to consumer; fit reference remains declared, no fit-on-query. | | `spectral_target_correlation` | keep | Preflight task-association protocol; No verified identical native endpoint | Aligned sample-level source-target association only; no out-of-sample predictive claim. | | `histogram_bins` | keep | Consumer descriptive protocol; No verified identical native endpoint | Explicit bin-edge rules preserved; do not replace with classification bin transform. | | `impute_columns` | keep | Calibration-owned preprocessing protocol; Native fitted preprocessing lifecycle where exact operator exists | Train-only learned fill state and all-missing behavior must be declared. New diagnostics do not silently imitate imputation. | | `target_shift` | keep | Domains task/population protocol; n4m_stats_energy_distance / other native distribution kernels are distinct tests | KS/Wasserstein/standardized mean difference are not interchangeable with energy distance. | | `class_shift` | keep | Domains task/population protocol; No verified identical JS-divergence endpoint | Declared class vocabulary and populations; no replacement by unrelated distance. | The JSON inventory records the source hash, ABI versions and binding feasibility. KEEP does not claim native equivalence. New additions are tested as generic procedures, without a per-binding algorithm registry. Sampling identities, possible physical causes, severity and calibrated confidence remain Preflight/Domains responsibilities.