csi_mae::mask_csi_window now dispatches on MaskStrategy:
- Random: uniform Fisher–Yates (as before).
- InfoGuided: CIG-MAE-style — preferentially mask high-information tokens.
A token's "information" = variance of its amplitude values +
variance of its phase values (token_information()); near-constant
tokens are trivially in-painted so masking them teaches less.
Selection is weighted-without-replacement (Efraimidis–Spirakis:
key_i = u_i^(1/w_i), ranked by ln(u_i)/w_i) — exact, and
deterministic given `seed` (the u_i come from SplitMix64).
Replaces the iteration-1 "InfoGuided falls back to Random with a warning" stub.
+3 unit tests (info-guided skews ≥7.5/10 toward high-info tokens; deterministic
in seed; token_information ≈ 0 for constant tokens). `cargo test -p
wifi-densepose-train --no-default-features` → 121 lib tests pass.
Still to do (iter 2b, next loop tick): the real csi_mae::model (tch encoder/
decoder + reconstruction_loss + pretrain_step), bin/pretrain_mae.rs, a gated
"loss decreases" smoke test.
Co-Authored-By: claude-flow <ruv@ruv.net>