Magistral J-lens refit: add block 26 (rel 2/3) and fix the tokenizer

#1

Refit of the Magistral Jacobian lens, fitted 2026-09-17 on 100 WikiText prompts at max_seq_len 96, dim_batch 64 -- the same recipe as magistral_100_jacobian_lens.pt.

Two differences:

  1. It covers SIX blocks {22,25,26,29,33,37} rather than five. Block 26 is rel 2/3 for a 40-block model and was missing, so Magistral could not be read at that depth at all.

  2. It was fitted with a tokenizer guard. fit_lens.py tokenises through chat.load_tokenizer, which for Magistral returns a 151000-entry tekken conversion against a 131072 embedding table; ordinary wikitext then encodes past the table and the first forward dies with an out-of-range device-side assert. The fit now falls back to AutoTokenizer when the id space does not fit the checkpoint.

It AGREES with the published lens where they overlap, so nothing measured through the original is invalidated: Jacobian cosine .987 to .999 at the five shared blocks, matching norms, leading-subspace correlation .89 to .95. Downstream U-Lens is identical to three decimals at block 29.

Also mirrored at loose-bits/uspace-lenses.

Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment