$ the-wire · showcase
Remote runs keep their attention implementation, and nnsight keys now carry trust_remote_code
By RepoJournal · Filed · About Interpretability · Composed from the cited sources · methodology
nnsight shipped the two changes that cost NDIF operators the most silent debugging time, an attention implementation that survives the trip to the server and a model key that records whether remote code was trusted.
feat: carry the attention implementation with every remote request ndif-team/nnsight
A TransformersModel loaded with attn_implementation="eager" used to return attention weights locally and None from NDIF, because the request named only the model and the server ran its deployed default of sdpa. The request env now carries the implementation your client resolved to, so attn.output[1] behaves the same on both sides.
feat: carry trust_remote_code in the model key ndif-team/nnsight
A model built with trust_remote_code=True now mints a key containing "trust_remote_code": true alongside repo_id, revision and task, and the key wins over any overlapping kwarg on rebuild. Keys for ordinary checkpoints are unchanged, so pinned deployments keep theirs; nnsight.status() entries also report the flag and hot_replicas.
tracing: keep an earlier invoke's rebind when a later one pushes ndif-team/nnsight
In a session, a trace with two invokes used to undo a rebind made by the first, so a variable reassigned inside invoke("a") read as its original value or None on every loop iteration. Earlier invokes now keep their rebind when a later invoke pushes, which fixes the documented loop pattern rather than requiring a workaround.
fix: store pretrained SAE paths as str so the HF sync check runs again jbloomAus/SAELens
The nightly HuggingFace sync check that compares published SAE paths had been failing on every retained run since 2025-09-02 with a TypeError in check_path_existence, because pretrained SAE paths were stored as ints for the 26 mntss-gemma-2-2b-2.5m-clt-as-per-layer entries. Paths are stored as str again, so the discrepancy report runs and stale or missing artifacts surface instead of silently g...
Split the repository into project directories; evaluate on fixed eval sets and require row-shuffled datasets goodfire-ai/param-decomp
by PD User (shared)
The library is now its own param_decomp/ project with a separate pyproject.toml and lock, while configs, component keys, tokenized datasets and packed rows move to param_decomp_formats/, a JAX-free sibling your scripts now import from and depend on by path. Evaluation also runs on fixed eval sets and requires row-shuffled datasets.
Action items
- → Repoint imports of param-decomp configs, component keys and dataset readers to param_decomp_formats/ goodfire-ai/param-decomp [plan]