Protocol / Operational definitions

Six-axis protocol

How the paper measures control, one axis at a time.

One push is a demo. Control means you can hit a target, undo it, dial it, track it, spare everything else, and reuse it on prompts you have never seen. Each axis below is one of those requirements, made measurable.

00 / Setup

What every axis needs.

The axes apply to any intervention that has a support, base strengths and a direction rule. Nothing in the protocol depends on how the sites were chosen.

01 / Intervention

Support and strengths

A support \(S\) of internal sites, base strengths \(\beta\), and a rule for the direction added at each site.

02 / Dose

One scale

A scalar dose \(\gamma\) multiplies the strengths. \(\gamma = 1\) is the nominal intervention and \(\gamma = 0\) is the unpatched model.

03 / Readouts

Source, target, patched

A task readout on the source input, on the target input, and on the source input under the patch.

\(y_{\mathrm{src}},\ \ y_{\mathrm{tar}},\ \ y_{\mathrm{pat}}\)

04 / Panels

Fit and evaluate

Fitting and evaluation prompts are split, seeds are repeated, and off-target prompts come from a separate fixed panel.

P and F

Two direction conditions run side by side. P uses evaluation-pair activation contrasts; F uses training-mean contrasts from the fitting split. The direction rule is independent of coefficient fitting and of dose updates.

Scope

Thresholds are operating choices, and decisions use unrounded values. The six axes characterize the control an intervention provides; on their own they do not establish the joint \((\varepsilon, \delta, \kappa)\) certificate, and the reported results do not claim it was evaluated.

01 / hit

Reachability

How close does the intervention get to the target?

Probe
Apply the intervention at its nominal dose \(\gamma = 1\) and read the target behavior on evaluation prompts the selector did not fit (the same panel for IOI).
Statistic
\(\mathrm{Rel}_{\mathrm{tar}}(1) = \dfrac{\lVert y_{\mathrm{tar}} - y_{\mathrm{pat}} \rVert_2}{\lVert y_{\mathrm{tar}} - y_{\mathrm{src}} \rVert_2 + \xi}\), computed on each complete readout vector before averaging across seeds.
Passes when
\(\mathrm{Rel}_{\mathrm{tar}}(1) \le \varepsilon = 0.4\). The appendix repeats the count for \(\varepsilon\) from 0.3 to 0.5.
Reported as
Passing seeds, with the mean and sample standard deviation.
Code
sparse_control.metrics.reachability.rel_tar

Source → target

The distance left to the target is measured.

Nominal dose
In the paper · Coverage-Driver unless noted
TaskRel_tar, PpassRel_tar, Fpass
IOI (same panel)0.29410/10—
MCQA Humanities0.1888/81.0120/8
MCQA STEM0.1698/81.0310/8
Sentiment0.1718/80.7460/8
Refusal0.7990/80.8010/8

Evaluation-pair directions reach the target on MCQA and Sentiment; training-mean directions never do. Refusal fails with either.

02 / undo

Signed reversal

Does the opposite patch move target-side behavior toward the source?

Probe
Apply the opposite patch \(-\beta\) to the target-side input. For Refusal, the negative coefficients act on the harmful member of each pair.
Statistic
\(\mathrm{Reversal}(\beta) = \lVert y_{-\beta} - y_{\mathrm{tar}} \rVert_2 \,/\, \lVert y_{-\beta} - y_{\mathrm{src}} \rVert_2\): the distance of the reversed output from the target over its distance from the source. Infinite and 0/0 ratios are kept explicit.
Passes when
\(\mathrm{Reversal}(\beta) \ge 2\): the reversed output ends at least twice as close to the source as to the target.
Reported as
Passing seeds, with the mean ratio and standard deviation.
Code
sparse_control.metrics.reversal.reversal_metrics

Start from the target side

Opposite patch, target-side input.

Target-side input
In the paper · Coverage-Driver unless noted
Taskratio, Ppassratio, Fpass
IOI2.5710/10—
MCQA Humanities3.788/80.1430/8
MCQA STEM4.808/80.1520/8
Sentiment8.518/80.9970/8
Refusal0.1120/80.1250/8

Reversal follows the same split as reachability: it passes wherever evaluation-pair directions are available, and fails for Refusal.

03 / dial

Dose response

How does target progress vary with intervention strength?

Probe
Hold the support and base strengths fixed and scale them by ten doses \(\gamma \in \{-1, -0.5, 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 2\}\).
Statistic
Target progress \(P(\gamma)\) at each dose and the signed Spearman \(\rho\) of progress against \(\gamma\). Ties use average ranks; a constant curve is undefined.
Passes when
\(\rho \ge 0.95\). A strong negative correlation is reported separately and never counts as ordered.
Reported as
Curves with \(\rho \ge 0.95\) and with \(\rho \le -0.95\), out of 8 seeds.
Code
sparse_control.metrics.dose.signed_spearman

Support fixed, dose varies

Same sites at every dose; only the scale changes.

γ 0.80
In the paper · Coverage-Driver unless noted
Taskρ ≥ .95, Pρ ≤ −.95, Pρ ≥ .95, Fρ ≤ −.95, F
MCQA Humanities5/80/85/83/8
MCQA STEM6/80/84/84/8
Refusal8/80/88/80/8

All 48 Refusal curves are perfectly ordered, yet Refusal fails reachability and reversal. With training-mean directions, MCQA curves run the wrong way on up to half the seeds.

04 / track

Feedback controllability

Can feedback-adjusted doses track requested targets?

Probe
Keep the support, base strengths and direction rule fixed, request a target value \(m^\star\), and update only the dose from the measured error: \(\gamma_{t+1} = \gamma_t + \eta\,(m^\star - M(\gamma_t))\), with a fixed gain.
Statistic
The terminal error \(\lvert m^\star - M(\gamma_{\mathrm{end}}) \rvert\) per endpoint, with hits, mean absolute error and the number of readout evaluations. Targets already met at zero dose are reported separately.
Passes when
\(\lvert m^\star - M(\gamma_{\mathrm{end}}) \rvert \le \tau_{\mathrm{ctrl}}\): 0.3 for IOI and MCQA, 0.1 for Refusal.
Reported as
Hits over endpoints: 8 seeds × 6 targets for MCQA, 8 × 5 for Refusal, 3 × 8 for IOI.
Code
sparse_control.metrics.feedback.endpoint_metrics

Target error drives the dose

Only γ changes between steps.

Update 0
In the paper · Coverage-Driver unless noted
Taskhits, PMAE, Phits, FMAE, F
IOI (Driver-OMP)24/240.135—
MCQA Humanities46/480.2388/481.924
MCQA STEM47/480.1327/482.449
Refusal21/4021/40
Sentimentnot evaluated

With evaluation-pair directions, feedback hits nearly every MCQA target in about four readouts. Training-mean directions stall short of the target even after eleven.

05 / spare

Off-target preservation

How much do non-target outputs change?

Probe
Apply the intervention at its nominal dose to a fixed panel of 32 unrelated MMLU prompts (16 Humanities, 16 STEM): 256 prompt–seed observations per selector.
Statistic
Full-vocabulary \(\mathrm{KL}\big(p_\theta \,\Vert\, p_\theta^{\beta}\big)\) in nats, unpatched against patched, summarized by mean, median, nearest-rank P95 and maximum.
Passes when
\(\mathrm{KL} \le \delta = 0.001\), counted twice: on the seed mean, and on every prompt of the seed.
Reported as
Passing seeds under each rule, with the KL distribution.
Code
sparse_control.metrics.preservation.preservation_summary

Non-target prompts

■ Baseline   ■ Patched

Same dose
In the paper · Coverage-Driver unless noted
Taskmedian KLmean KLseed meanevery prompt
MCQA Humanities0.0500.1100/80/8
MCQA STEM0.0600.1280/80/8
Sentiment0.00960.0110/80/8
Refusal0.00210.00870/80/8
Refusal, Driver-OMP0.000170.00114/82/8

No MCQA or Sentiment seed stays under δ. Only Driver-OMP on Refusal passes, on half the seeds by the mean rule.

06 / reuse

Held-out reuse

Do selected sites or complete interventions transfer to unseen prompts?

Probe
Carry the support selected on fitting prompts to unseen prompts, either refitting the strengths there (refit) or freezing the whole intervention, dose included (frozen).
Statistic
Recovery of the source-to-target gap on the unseen prompts: signed mean-margin recovery for MCQA, with task-specific variants for Sentiment and IOI. Recovery is not \(1 - \mathrm{Rel}_{\mathrm{tar}}\).
Passes when
No threshold. Recovery is reported as a continuous value together with its information condition.
Reported as
Mean recovery and standard deviation for each condition.
Code
sparse_control.metrics.reuse.mcqa_recovery

Training sites, unseen prompts

Reuse the sites and refit, or freeze the whole patch.

Two reuse regimes
In the paper · Coverage-Driver unless noted
Taskrefitfrozen / fixed
MCQA Humanities0.9950.033
MCQA STEM0.9440.038
IOI0.4490.298
Sentiment, k = 8 (fixed dose)1.03—

Sites transfer: refitting strengths on unseen MCQA questions recovers almost the whole gap. The frozen intervention recovers almost nothing.

07 / All tasks, all axes

Six numbers, not one.

Each row is a task and each column an axis. Coverage-Driver with evaluation-pair directions unless noted. No task passes every axis, and no single axis predicts the others.

Task01 Reachability02 Signed reversal03 Dose response04 Feedback controllability05 Off-target preservation06 Held-out reuse
IOI0.29410/10, same panel2.5710/10monotonesupporting study24/24Driver-OMP—not on the panel0.449refit recovery
Humanities0.1888/83.788/85/8ρ ≥ 0.9546/48hits0.050median KL, 0/80.995refit · 0.033 frozen
STEM0.1698/84.808/86/8ρ ≥ 0.9547/48hits0.060median KL, 0/80.944refit · 0.038 frozen
Sentiment0.1718/88.518/8monotonesupporting study—not evaluated0.0096median KL, 0/81.03k = 8, fixed dose
Refusal0.7990/80.1120/8ρ = 18/821/40hits0.0021Driver-OMP 4/8—not evaluated
passespartialfailsreported without a thresholdnot evaluated

08 / Use the protocol

Score your own intervention.

Activation steering, sparse autoencoder features, concept erasure or circuit discovery: any intervention with a support, strengths and a direction rule can be scored the same way. Each axis is one function in the released package.

# readouts are plain lists of floats
from sparse_control.metrics.reachability import rel_tar
from sparse_control.metrics.reversal import reversal_metrics
from sparse_control.metrics.dose import signed_spearman
from sparse_control.metrics.feedback import endpoint_metrics
from sparse_control.metrics.preservation import preservation_summary
from sparse_control.metrics.reuse import mcqa_recovery

rel_tar(source, target, patched) # reach: <= 0.4
reversal_metrics(source, target, reversed_out)["passes"] # ratio >= 2
signed_spearman(doses, progress) # dial: >= 0.95
endpoint_metrics(target=m_star, terminal_margin=m_end,
                 initial_margin=m_0, tolerance=0.3)["hit"]
preservation_summary(kl_values, seed_ids) # delta = 0.001
mcqa_recovery(source, target, patched) # reuse

Recalculate every table in the paper from the saved measurements on CPU: python -m sparse_control reproduce, then verify.

One push is a demo.
Six axes make it control.