Scope correction (2026-08-10)
strided-einsum2 and strided-opteinsum are not being retired. Per #226, all nine workspace crates remain maintained. Any retirement/Phase 2 removal premise below is obsolete; re-audit and implement the acceptance criteria across the maintained workspace.
Part of #199 (Phase 3, threading). All file:line references are pinned to origin/main at 9da9b9f.
strided-kernel/src/threading.rs:130 copy_into_col_major delegates straight to the serial strided_perm::copy_into_col_major with no threshold, no policy check, and no rationale comment, while copy_permuted_with_active_policy sits directly above it doing the right thing. Its main consumer today is the einsum2 packing path, which leaves with the retirement. Meanwhile strided_perm::copy_into_col_major_par (strided-perm/src/copy.rs:151) is public API with zero callers, and the architecture guard test pins the serial call at exactly one approved occurrence.
Scope correction (2026-08-10)
strided-einsum2 and strided-opteinsum are not being retired. Per #226, all nine workspace crates remain maintained. Any retirement/Phase 2 removal premise below is obsolete; re-audit and implement the acceptance criteria across the maintained workspace.
Part of #199 (Phase 3, threading). All file:line references are pinned to
origin/mainat 9da9b9f.strided-kernel/src/threading.rs:130copy_into_col_majordelegates straight to the serialstrided_perm::copy_into_col_majorwith no threshold, no policy check, and no rationale comment, whilecopy_permuted_with_active_policysits directly above it doing the right thing. Its main consumer today is the einsum2 packing path, which leaves with the retirement. Meanwhilestrided_perm::copy_into_col_major_par(strided-perm/src/copy.rs:151) is public API with zero callers, and the architecture guard test pins the serial call at exactly one approved occurrence.copy_permuted_with_active_policy, or document the serial rationale at the code, or remove it together with the deadcopy_into_col_major_par.