j-lens laboratory / code

The code, workarounds included

Every instrument this lab runs, rendered in place — because the workarounds are half the findings: which attention implementation forward-mode autodiff tolerates, what a linear-attention block is called, which CLI silently died, why a crashed validator must never read as zero. Raw files sit beside each page for machines.

jlens_jacobian.py · 248 lines

The Jacobian lens. Carries the eager-attention requirement (fused SDPA has no forward-AD), rotary position_embeddings threading, the module-tree search that survived Gemma-3/4 and found Qwen3.5's linear_attn, and model-only trust (tokenizer trust broke Yi).

geo_spectrum_run.py · 214 lines

The black-box probe runner. System-role folding for templates that reject one (Gemma-2), NVMe→NFS→hub fallback, label-suffix for replicates, and the PRODUCED-NOTHING guard family.

descent.py · 147 lines

The value-attractor descent. Prompt-echo exclusion (the smoke run read the why-template back through the lens), content-word filtering, convergence tracking whose τ the null later rewrote.

tau_null.py · 68 lines

The convergence ceiling: two independent answers to the same question, lensed. Median 0.090 — which retired a τ of 0.85 as fantasy.

identity_trace.py · 208 lines

Identity + phenomenology probes. Family lifts over a per-model null; the benign-synthetic strange prompt; the top-64 cutoff that currently underpowers condition A (named, unfixed).

remeasure.py · 250 lines

The grading join. Fails loud on validator crashes (a missing pandas once recorded ten models as zero), counts unparseable separately from zero, refuses all-empty lens dirs, marks thin rows provisional.