What problem does it solve? Permutation and shuffle nulls can silently leave the test statistic unchanged — for example, shuffling rows of a point cloud whose persistence diagram is invariant to row order — making the test structurally unable to reject anything. This Skill audits whether the null operation actually perturbs the object the statistic is computed on, catching invariant or degenerate nulls before they produce meaningless p-values. ## Core Features & Use Cases - Static Trace Check: Determines without running any compute whether the null's perturbed variable even appears in the statistic's construction, catching label permutations against label-blind statistics and row permutations against set-invariant constructions. - Empirical Witnesses: Verifies that at least one non-identity permutation changes the statistic, and that full statistic outputs match in shape, grid, and reduction behavior between observed data and null draws. - Centering/Degeneracy Check: Detects nulls fit from the same sufficient statistic the test statistic factors through (e.g., a Markov-k null whose MLE is the observed transition-count matrix), which force p-values toward 0.5 regardless of real signal. - Use Case: When a persistent-homology battery reports negative-control p-values pinned near 0.5, run this audit to determine whether the shuffle is applied downstream of the embedding, rendering the null structurally powerless. ## Quick Start Audit my permutation null to confirm the shuffle actually changes the object my test statistic is computed on.