The full portfolio This is the same work as the main portfolio, reordered around activation capture, sparse-autoencoder screening and mechanistic controls for one role family.

Interpretability Research Engineering

I test whether an internal signal survives the alternatives.

I build activation-capture and sparse-autoencoder pipelines, and the nuisance controls that decide whether an internal signal is a mechanism or a coincidence. The same mechanistic evaluation appears on the main portfolio; here it is ordered around the interpretability engineering first.

Activation captureSparse autoencodersNuisance controlsMechanistic evaluation

Independent researcher Brampton, Ontario, Canada Open to interpretability research-engineering roles

What I'd bring

Mechanistic evaluation an employer can check.

Each of these is a concrete practice, not a slogan, and each one shows up in the pipeline, the gate specification, or a deposited artifact.

Activation capture at scale

Final-token residual-stream capture via forward hooks across four decoder layers (7, 13, 17, 22) of a pinned model revision, feeding pinned Gemma Scope JumpReLU SAEs.

Sparse-autoencoder feature screening

16,384 SAE features per layer, 65,536 layer-feature coordinates screened in total, with confirmatory stages retaining only the single frozen feature's activations.

A pre-committed, five-gate qualification cascade

Support, an aligned bootstrap LCB90 above zero, direction consistency, leave-one-block-out sign stability, and a six-axis nuisance ceiling — applied in a fixed order with no discretion at any step.

Structural guards against post-hoc fishing

Instance activations are aggregated to block means before anything reaches disk, so searching 16,384 features after the fact is structurally unavailable, not merely discouraged.

Disclosing an implementation defect in public

When one gate turned out to have been implemented on block-mean rather than instance-level positivity, both the historical and the corrected computation were published side by side.

Evidence

The activation-capture and SAE screening pipeline.

Executed Pre-registered Valid null
Problem
In a feature space wide enough to always offer something that looks promising, how do you tell a mechanism from a coincidence?
Built
An activation-capture and sparse-autoencoder pipeline: final-token residual-stream capture via forward hooks at four decoder layers, pinned JumpReLU SAEs, and block-mean aggregation before anything reaches disk.
Scale
65,536 layer-feature coordinates screened (four layers × 16,384 SAE features each), on a pinned model revision with pinned SAE weights and deterministic seeding.
Methods
Gemma Scope JumpReLU sparse autoencoders; an aligned bootstrap confidence bound; direction-consistency and sign-stability checks; a six-axis nuisance ceiling; HMAC-SHA256-derived seeding for exact reproducibility.
Result
Zero candidates survived the complete five-gate cascade. What this establishes: a robust null under this model, this SAE family, these four layers and this set of controls. What it does not establish: that no such feature exists anywhere in the model, or anything about whether the underlying behavioural pattern is genuine.

Evidence

The qualification cascade, and its null.

Reanalysed Deterministic Null confirmed
Problem
Once a defect is found in how one gate was implemented, does the null survive being recomputed correctly?
Built
A disclosed, deterministic reanalysis of the same captured data under the corrected rule the frozen specification actually required, published alongside the original as-executed computation rather than replacing it.
Scale
Historical cascade: 4,753 → 979 → 229 → 229 → 0. Corrected intended-rule cascade: 4,524 → 921 → 207 → 207 → 0.
Methods
Deterministic reanalysis — not a re-execution, no new model inference — of already-captured activations under instance-level rather than block-mean positivity for the second gate.
Result
Both computations terminate at zero: DIAG_NO_CANDIDATE (as executed) and DIAG_NO_CANDIDATE_CORRECTED_INTENDED_RULE (corrected). What this establishes: the null is not an artefact of the implementation defect. What it does not establish: anything about whether the underlying behavioural pattern is genuine, absent, or something else — a separate, indeterminate behavioural result left that question open.

Scope of this work

What none of this is about Nothing in this work bears on whether AI systems are conscious or sentient, in either direction, and that is not the question the pipeline asks. The question is narrower and checkable: whether an internal signal survives a fixed set of controls for the simpler explanations that would account for it just as well.

Capability stack

What the mechanistic work is built from.

Grouped by what each tool was used for, not as a logo wall — every entry appears in the pipeline or in a deposited artifact.

Activation capture

  • Forward hooks
  • Final-token residual stream
  • Four decoder layers (7, 13, 17, 22)
  • Pinned model revisions
  • PyTorch

Sparse-autoencoder evaluation

  • Gemma Scope JumpReLU SAEs
  • SAELens
  • 16,384 features per layer
  • Block-mean aggregation before disk

Mechanistic controls

  • Aligned bootstrap LCB90
  • Direction-consistency checks
  • Leave-one-block-out stability
  • Six-axis nuisance ceiling
  • HMAC-SHA256 derived seeding