canonical_assignment

Function canonical_assignment 

Source
pub fn canonical_assignment(n: usize) -> bool
Expand description

THE GATE — the one decision “does this batch get the canonical depth→slot assignment?”. Both seams ask this and nothing else: mtp_dcut::plan (which decides order AND assignment) and mtp_step (permutation only), each passing the FULL batch width so the two can never disagree — plan gates on batchable.len(), and a chunked dispatch must use that same width, not the chunk’s.

n is the batch width in SEQUENCES. All logic lives in canonical_assignment_at; this is only the env binding (SBIO).