Data provenance
ex-2.2.3 · 5680915 · run 2026-09-09
via reports/m2/ex-2.2.3/metrics
ex-2.2.8 · f4b0497 · run 2026-09-14
via reports/m2/ex-2.2.8/metrics

Ex 2.2.8: a survey of the intervention operator on the stored ex-2.2.3 checkpoints

This is a survey: no training and no hypothesis gates. We scored 84 intervention operators on stored checkpoints from ex-2.2.3 (the adopted point at twenty seeds, and t00 at five). We were looking for one that removes red as fully as the plain projection while staying as selective as the operand-only one.

On the adopted point the plain projection is inside the selectivity gate on every op, so the frozen rule proposes it. Setting a threshold on the anchor alignment above the range the non-red lines occupy removes less red, at no cost the survey can resolve. Setting it inside that range costs more than projecting everything. On t00 the syntax embeddings carry the axis, and there only the operand-only edits are inside the gate.

Observations

How to read this report

This is a survey, so it scores no hypothesis. What it does preregister is a search plan: the trial list, the objective, its constraint, and the noise trials. All of those were frozen in experiment.py before the run.

Every trial is published, and nothing here may be quoted as a result. The anchored-op prereg adopts the proposed operator and re-measures it at fresh seeds, reporting the survey value beside the confirmed one. The checkpoints are stored, so these are the same seeds ex-2.2.3 scored, and the operator choice is the part that is not fresh: this survey makes it after seeing those seeds.

The plan was rehearsed once on the dev storage pair before this production run. That rehearsal also scored a Bézier-mapped repulsion; the production plan leaves it out (search plan).

Why, and what we ran

Ex-2.2.1 left three operators, none of them both complete and selective. The plain projection removes red fully, but it costs the non-red lines. Ex-2.2.3 saw that cost on the syntax embeddings of the first points its selection rule proposed, where the mix deficits were well above the 0.05 gate, so it amended the rule with the selectivity gate and adopted recipe-short. On that point the projection's cost is inside the gate, with little to spare.

The other two each give something up. The operand-only projection avoids the cost, but it needs to know the syntax of the line. The shaped suppression at the threshold used in M1 (a = 0.5, b = 1, p = 1) removes about half of red at no non-red cost.

So the design called for this scoring-only pass on stored runs before the anchored-op prereg, and two backlog items name it as their closing move (shaped suppression, repulsion). Does any operator remove as much as the plain projection while keeping the margin of the operand-only edit? And does one of them do that with no position mask?

The design named the nine checkpoints from ex-2.2.1. D2.2 has since moved to the six-op grammar and adopted recipe-short, so this pass scores the stored runs of ex-2.2.3 instead: the adopted point at all twenty seeds, and t00 at five. t00 was the first point the rule proposed, and its syntax embeddings carry the axis at more than twice the level the recipe does.

Each checkpoint is scored on the six-op probe set from ex-2.2.3 through sca.intervention.apply. The lines of all six ops are concatenated, so each operator is one forward pass. The results are then read per op with the readout from ex-2.2.3, so every statistic means what it meant there.

The repulsion operator is new to the contract. The shaped suppression removes a fraction of the axis component; repulsion instead sets where the state lands, moving every state at or above the threshold a to alignment b. That is a step at the threshold, except when a = b, where it becomes the ceiling \(\min(\alpha, b)\). The write is the angle between the arriving alignment and the landing one, and the scorer checks it against the measured rotation on every state.

Glossary

Search plan

Frozen in experiment.py before the run. The space is a grid: two families whose parameters mean something, so every corner is worth a look. At 84 operators on stored checkpoints, the whole grid costs less than one training run.

The space. 2 reference rows: the projection from ex-2.2.3, applied at every position and again at the operand positions. Then two families, each at every position and again at the operand positions only:

family grid trials
shaped suppression a ∈ {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7} × p ∈ {0, 0.5, 1, 2}, b = 1 28
repulsion (a, b) ∈ 13

shaped at p = 0 is a thresholded projection, and repulsion at b = 0 does the same thing, so that edge is not repeated. Counting the operand-only copies, that is 84 trials in all.

What the rehearsal changed. The plan first ran on the dev storage pair, so it was run again here on production. The rehearsal also included the Bézier-mapped repulsion from M1, at eight points; that version is continuous at the threshold. Each of those eight matched the linear row at the same landing on both reads, so the production plan drops that family. Nothing else changed.

The objective. Removal against selectivity, as ex-2.2.3's H4 read them: seed-mean accuracy on the red lines (the dose above 0.8; lower is more removed) against the seed-mean non-red deficit (the drop in P(answer) on lines whose dose is at most 0.2; lower is more selective), on mix as the gated op and on every op beside it. Feasible: non-red deficit within 0.05 on every op. Proposed: the feasible trial with the lowest red accuracy on mix, with the front reported whole.

Noise floors. The per-run σ of each objective is read under projection at the twenty seeds of recipe-short. A difference between two seed means smaller than 2σ·√(2/20) is unresolved. Every trial is read on the same twenty seeds, so this band is conservative for a paired comparison.

What is checked, per trial and seed. The assertions in the contract run on every state: the clean pass matches, the edit stays within the named positions, and where the write has a closed form (projection and repulsion) the measured rotation matches it to 2 × 10⁻³ rad. A trial whose write did not match would have failed the scoring task rather than being scored.

Not in the plan. We did not try positions other than the operands and all, and we did not edit only some of the slices. Operators fitted to the data (LEACE, diff-in-means) are left to the anchor-versus-fitted comparison in the D2.2 design. The readout still reports the redder-than-both lines, but this pass does not rank on them.

The reference rows reproduce

The two projection rows from ex-2.2.3, re-scored by this pass on the same checkpoints and probe lines, beside their stored values.

conditionrowred accnon-red accnon-red deficitP(ans), all
`recipe-short``projection`0000
`recipe-short``operands`0000
`t00``projection`0000
`t00``operands`0000

Largest |re-scored − stored| per statistic. Over the seeds of the condition, the six ops, and the group named. The floating-point path differs only in batch composition (the six ops are scored in one pass here).

Noise floors

Measured under projection at the twenty seeds of recipe-short. The rule ranks on mix, and the band there is 0.013 on red accuracy and 0.013 on the non-red deficit.

opred accuracyσnon-red deficitσ
`mix`0.015 ±0.0420.0210.040 ±0.0360.021
`add`0.143 ±0.1780.0750.021 ±0.0210.013
`screen`0.117 ±0.1420.0640.017 ±0.0150.009
`multiply`0.077 ±0.1100.0530.020 ±0.0180.011
`lighten`0.137 ±0.0990.0480.005 ±0.0110.005
`darken`0.181 ±0.1810.0850.004 ±0.0130.006

Per-run spread of the two objectives, by op. Seed mean ± half the seed range, and the per-run standard deviation the bands are built from.

The landscape

Every trial on every op, on the two reads the objective uses. On the adopted point nearly every trial stands at zero deficit, and the position mask makes no difference; what separates the trials is how much red they leave. Two exceptions: the steps set inside the non-red range trail off to the right, and the plain projection sits just inside the gate.

Six scatter panels, one per op, each with the non-red deficit on the horizontal axis, zoomed to the first third of its range, and red-line accuracy on the vertical, dashed gate lines near the origin. On every op nearly all marks stand in a vertical column at zero deficit, spanning red accuracy from near zero to about 0.8, circles and triangles together; the two projection crosses sit at the foot of the column just inside the deficit gate, with a ring around the plain one in every panel; and three open circles trail to the right of the gate at low red accuracy, the low-threshold steps. Six scatter panels, one per op, each with the non-red deficit on the horizontal axis, zoomed to the first third of its range, and red-line accuracy on the vertical, dashed gate lines near the origin. On every op nearly all marks stand in a vertical column at zero deficit, spanning red accuracy from near zero to about 0.8, circles and triangles together; the two projection crosses sit at the foot of the column just inside the deficit gate, with a ring around the plain one in every panel; and three open circles trail to the right of the gate at low red accuracy, the low-threshold steps.

The landscape: removal against selectivity, per op. One mark per trial, seed means over the twenty seeds of recipe-short: \(●\) at every position, \(▲\) at the operand positions, filled when the trial is inside the deficit gate on every op and open otherwise, in the family's ink. \(×\) marks the two reference projections. Dashed lines are ex-2.2.3's gates (0.05 on the deficit, 0.2 on red accuracy); the corner they enclose is where an operator is both selective and complete. The ring is the proposed trial. The deficit axis is zoomed to the range the adopted point uses; the figure below shows the full range beside t00.

Which operator is best depends on the point. On t00 the syntax embeddings carry the axis, and there every edit applied at every position costs most of the non-red lines, whatever its threshold, ramp, or landing. The operand-only edits are the only ones inside the gate.

Two scatter panels sharing both axes, non-red deficit horizontal and red accuracy vertical, both zero to one. Left, the adopted point: every mark sits within a quarter of the way along the deficit axis, most of them inside the gate. Right, t00: the whole-sequence circles are spread far to the right, between a third and the far end of the deficit axis, all at red accuracy near zero, while the operand-only triangles sit against the left edge inside the gate, ringed at the lowest of them. Two scatter panels sharing both axes, non-red deficit horizontal and red accuracy vertical, both zero to one. Left, the adopted point: every mark sits within a quarter of the way along the deficit axis, most of them inside the gate. Right, t00: the whole-sequence circles are spread far to the right, between a third and the far end of the deficit axis, all at red accuracy near zero, while the operand-only triangles sit against the left edge inside the gate, ringed at the lowest of them.

The same landscape on mix, at the adopted point and at t00. Seed means over twenty seeds (left) and five (right), the marks as above; the ring is the frozen rule's pick on each point. The axes run the full range on both panels so the two points can be compared; the per-op figure above zooms into the corner. Dashed lines are the gates (0.05, 0.2).

The marginals

The same two reads on mix, now plotted against the parameters of each family. For the shaped suppression, the threshold and the ramp both set how much red is left. Its cost is zero everywhere except for the step at low thresholds applied at every position. For repulsion what matters is the landing: red accuracy follows b, and the threshold adds a little on top.

Four panels in a two-by-two grid. Top row: red accuracy on mix; bottom row: non-red deficit on mix. Left column: shaped suppression against its threshold a, one line per ramp p, solid for every position and dashed for the operand positions; red accuracy rises with both the threshold and the ramp, from near zero to about 0.7, the solid and dashed lines nearly on top of each other; the deficit is flat at zero except for the p = 0 line at every position, which starts at 0.23 at a = 0.1 and falls to zero by a = 0.4. Right column: repulsion against its landing b, one line per threshold a; red accuracy rises with the landing from about 0.1 to 0.6, and the deficit is flat at zero. Four panels in a two-by-two grid. Top row: red accuracy on mix; bottom row: non-red deficit on mix. Left column: shaped suppression against its threshold a, one line per ramp p, solid for every position and dashed for the operand positions; red accuracy rises with both the threshold and the ramp, from near zero to about 0.7, the solid and dashed lines nearly on top of each other; the deficit is flat at zero except for the p = 0 line at every position, which starts at 0.23 at a = 0.1 and falls to zero by a = 0.4. Right column: repulsion against its landing b, one line per threshold a; red accuracy rises with the landing from about 0.1 to 0.6, and the deficit is flat at zero.

The marginals on mix. Seed means over twenty seeds. Left: shaped suppression against its threshold a, one shade per ramp p. Right: repulsion against its landing b, one shade per threshold a. Both panels are keyed by their legends. Solid lines are the whole-sequence trials, dashed the operand-only ones. The dashed grey rule is the gate.

Where the operators leave the state

In both families, how much red an operator leaves tracks where it leaves the state of the red operand. The shaped suppression lands each state wherever its ramp puts it, so the landing varies with where the state arrived. Repulsion lands every state it touches at one alignment, and the stream holds it there through slice 3. The last slice pulls every landing down, including the clean state.

Two panels, one per family, each with the five residual-stream slices on the horizontal axis and the red operand's alignment with the anchor axis on the vertical. A bold grey line near 0.9 is the clean value. Under shaped suppression the lines fan out between zero and 0.75 by threshold and ramp, most rising a little from the embedding to slice 3 and dipping at slice 4 as the clean line does. Under repulsion each line sits flat at its landing through slice 3 and dips at the last slice. Two panels, one per family, each with the five residual-stream slices on the horizontal axis and the red operand's alignment with the anchor axis on the vertical. A bold grey line near 0.9 is the clean value. Under shaped suppression the lines fan out between zero and 0.75 by threshold and ramp, most rising a little from the embedding to slice 3 and dipping at slice 4 as the clean line does. Under repulsion each line sits flat at its landing through slice 3 and dips at the last slice.

Where the operators leave the red operand, by slice, on the red mix lines. Mean alignment of the dose-carrying operand's state after the edit, over lines and twenty seeds, for every whole-sequence trial; the bold grey line is the clean value. Shaped rows shade by threshold (faintest to boldest: 0.1 to 0.7), repulsion rows by landing b (faintest to boldest: 0.2 to 0.7).

The write and its cost

The write is the angle an operator turns a state through. M1 argued for the shaped operators on the grounds that keeping the write small keeps the side-effect small. That only holds if the two move together, and on the non-red lines of this point they do not. The plain projection and the step at a = 0.1 turn the non-red lines through the same angle, yet the step costs them several times as much. A step at a = 0.2 turns them less and still costs four times what the projection does. What the non-red lines pay depends more on which of their states are turned than on how far.

One scatter panel: the largest 99th-percentile write on non-red mix lines across the slices on the horizontal axis, in radians, against the non-red deficit on the vertical, zoomed to the first third of its range. Most marks sit at zero deficit with writes under 0.15 radians. The plain projection's cross is at the far right, near 0.27 radians, at a deficit just inside the gate, and an open circle sits directly above it at the same write and several times the deficit; the three open circles for the low-threshold steps are the only marks above the gate, at deficits of 0.07 to 0.23. One scatter panel: the largest 99th-percentile write on non-red mix lines across the slices on the horizontal axis, in radians, against the non-red deficit on the vertical, zoomed to the first third of its range. Most marks sit at zero deficit with writes under 0.15 radians. The plain projection's cross is at the far right, near 0.27 radians, at a deficit just inside the gate, and an open circle sits directly above it at the same write and several times the deficit; the three open circles for the low-threshold steps are the only marks above the gate, at deficits of 0.07 to 0.23.

What the non-red lines pay for the write they receive, on mix. The 99th-percentile write of each trial on the non-red lines (the largest over the five slices, seed mean) against its non-red deficit. Same marks as the landscape.

Every trial

No omissions. Seed means over the twenty seeds of recipe-short. ⦿ is the proposed trial and ⋆ marks the mix front; bold values pass their gate. Margin is the gate minus the worst non-red deficit over the six ops, which is what the survey ranks on alongside the objective.

trialfamilyparameterspositionsred acc `mix` ↓deficit `mix` ↓worst red acc ↓worst deficit ↓margin ↑feasible
`projection` ● ⦿ ⋆projection—all0.0150.0400.1810.040+0.010✓
`shaped-a0.1-p0` ● ⋆shaped suppressiona 0.1, p 0all0.0080.2300.1610.230-0.180
`shaped-a0.1-p0.5` ●shaped suppressiona 0.1, p 0.5all0.0400.0320.2350.032+0.018✓
`shaped-a0.1-p1` ●shaped suppressiona 0.1, p 1all0.0950.0060.3090.006+0.044✓
`shaped-a0.1-p2` ●shaped suppressiona 0.1, p 2all0.2510.0000.4610.000+0.050✓
`shaped-a0.2-p0` ● ⋆shaped suppressiona 0.2, p 0all0.0140.1760.1840.176-0.126
`shaped-a0.2-p0.5` ●shaped suppressiona 0.2, p 0.5all0.0610.0140.2590.014+0.036✓
`shaped-a0.2-p1` ●shaped suppressiona 0.2, p 1all0.1310.0020.3450.002+0.048✓
`shaped-a0.2-p2` ●shaped suppressiona 0.2, p 2all0.3020.0000.5110.000+0.050✓
`shaped-a0.3-p0` ●shaped suppressiona 0.3, p 0all0.0310.0700.2130.070-0.020
`shaped-a0.3-p0.5` ●shaped suppressiona 0.3, p 0.5all0.0870.0030.2970.003+0.047✓
`shaped-a0.3-p1` ●shaped suppressiona 0.3, p 1all0.1760.0000.3930.000+0.050✓
`shaped-a0.3-p2` ●shaped suppressiona 0.3, p 2all0.3630.0000.5610.000+0.050✓
`shaped-a0.4-p0` ●shaped suppressiona 0.4, p 0all0.0450.0000.2360.000+0.050✓
`shaped-a0.4-p0.5` ●shaped suppressiona 0.4, p 0.5all0.1220.0000.3390.000+0.050✓
`shaped-a0.4-p1` ●shaped suppressiona 0.4, p 1all0.2250.0000.4430.000+0.050✓
`shaped-a0.4-p2` ●shaped suppressiona 0.4, p 2all0.4300.0000.6170.000+0.050✓
`shaped-a0.5-p0` ●shaped suppressiona 0.5, p 0all0.0550.0000.2550.000+0.050✓
`shaped-a0.5-p0.5` ●shaped suppressiona 0.5, p 0.5all0.1650.0000.3900.000+0.050✓
`shaped-a0.5-p1` ●shaped suppressiona 0.5, p 1all0.2920.0000.5060.000+0.050✓
`shaped-a0.5-p2` ●shaped suppressiona 0.5, p 2all0.5100.0000.6850.000+0.050✓
`shaped-a0.6-p0` ●shaped suppressiona 0.6, p 0all0.0580.0000.2670.000+0.050✓
`shaped-a0.6-p0.5` ●shaped suppressiona 0.6, p 0.5all0.2360.0000.4620.000+0.050✓
`shaped-a0.6-p1` ●shaped suppressiona 0.6, p 1all0.3910.0000.5880.000+0.050✓
`shaped-a0.6-p2` ●shaped suppressiona 0.6, p 2all0.6060.0000.7530.000+0.050✓
`shaped-a0.7-p0` ●shaped suppressiona 0.7, p 0all0.0670.0000.2750.000+0.050✓
`shaped-a0.7-p0.5` ●shaped suppressiona 0.7, p 0.5all0.3550.0000.5640.000+0.050✓
`shaped-a0.7-p1` ●shaped suppressiona 0.7, p 1all0.5270.0000.6960.000+0.050✓
`shaped-a0.7-p2` ●shaped suppressiona 0.7, p 2all0.7140.0000.8310.000+0.050✓
`linear-a0.3-b0.2` ●repulsiona 0.3, b 0.2all0.0710.0100.2770.010+0.040✓
`linear-a0.3-b0.3` ●repulsiona 0.3, b 0.3all0.1240.0010.3400.001+0.049✓
`linear-a0.4-b0.2` ●repulsiona 0.4, b 0.2all0.0930.0000.3070.000+0.050✓
`linear-a0.4-b0.4` ●repulsiona 0.4, b 0.4all0.2040.0000.4260.000+0.050✓
`linear-a0.5-b0.2` ●repulsiona 0.5, b 0.2all0.1130.0000.3330.000+0.050✓
`linear-a0.5-b0.4` ●repulsiona 0.5, b 0.4all0.2060.0000.4320.000+0.050✓
`linear-a0.5-b0.5` ●repulsiona 0.5, b 0.5all0.3080.0000.5250.000+0.050✓
`linear-a0.6-b0.2` ●repulsiona 0.6, b 0.2all0.1360.0000.3670.000+0.050✓
`linear-a0.6-b0.4` ●repulsiona 0.6, b 0.4all0.2370.0000.4620.000+0.050✓
`linear-a0.6-b0.6` ●repulsiona 0.6, b 0.6all0.4530.0000.6390.000+0.050✓
`linear-a0.7-b0.2` ●repulsiona 0.7, b 0.2all0.1710.0000.3950.000+0.050✓
`linear-a0.7-b0.4` ●repulsiona 0.7, b 0.4all0.2840.0000.5130.000+0.050✓
`linear-a0.7-b0.7` ●repulsiona 0.7, b 0.7all0.6200.0000.7650.000+0.050✓
`operands` ▲projection—operands0.0250.0120.2010.012+0.038✓
`shaped-a0.1-p0-operands` ▲ ⋆shaped suppressiona 0.1, p 0operands0.0230.0030.1940.003+0.047✓
`shaped-a0.1-p0.5-operands` ▲shaped suppressiona 0.1, p 0.5operands0.0680.0000.2720.000+0.050✓
`shaped-a0.1-p1-operands` ▲shaped suppressiona 0.1, p 1operands0.1240.0000.3490.000+0.050✓
`shaped-a0.1-p2-operands` ▲shaped suppressiona 0.1, p 2operands0.2650.0000.4830.000+0.050✓
`shaped-a0.2-p0-operands` ▲ ⋆shaped suppressiona 0.2, p 0operands0.0330.0010.2050.001+0.049✓
`shaped-a0.2-p0.5-operands` ▲shaped suppressiona 0.2, p 0.5operands0.0790.0000.2900.000+0.050✓
`shaped-a0.2-p1-operands` ▲shaped suppressiona 0.2, p 1operands0.1500.0000.3730.000+0.050✓
`shaped-a0.2-p2-operands` ▲shaped suppressiona 0.2, p 2operands0.3070.0000.5230.000+0.050✓
`shaped-a0.3-p0-operands` ▲ ⋆shaped suppressiona 0.3, p 0operands0.0390.0000.2220.000+0.050✓
`shaped-a0.3-p0.5-operands` ▲shaped suppressiona 0.3, p 0.5operands0.0950.0000.3140.000+0.050✓
`shaped-a0.3-p1-operands` ▲shaped suppressiona 0.3, p 1operands0.1810.0000.4050.000+0.050✓
`shaped-a0.3-p2-operands` ▲shaped suppressiona 0.3, p 2operands0.3640.0000.5660.000+0.050✓
`shaped-a0.4-p0-operands` ▲shaped suppressiona 0.4, p 0operands0.0450.0000.2390.000+0.050✓
`shaped-a0.4-p0.5-operands` ▲shaped suppressiona 0.4, p 0.5operands0.1220.0000.3460.000+0.050✓
`shaped-a0.4-p1-operands` ▲shaped suppressiona 0.4, p 1operands0.2250.0000.4480.000+0.050✓
`shaped-a0.4-p2-operands` ▲shaped suppressiona 0.4, p 2operands0.4310.0000.6190.000+0.050✓
`shaped-a0.5-p0-operands` ▲shaped suppressiona 0.5, p 0operands0.0550.0000.2570.000+0.050✓
`shaped-a0.5-p0.5-operands` ▲shaped suppressiona 0.5, p 0.5operands0.1650.0000.3940.000+0.050✓
`shaped-a0.5-p1-operands` ▲shaped suppressiona 0.5, p 1operands0.2920.0000.5090.000+0.050✓
`shaped-a0.5-p2-operands` ▲shaped suppressiona 0.5, p 2operands0.5110.0000.6850.000+0.050✓
`shaped-a0.6-p0-operands` ▲shaped suppressiona 0.6, p 0operands0.0580.0000.2670.000+0.050✓
`shaped-a0.6-p0.5-operands` ▲shaped suppressiona 0.6, p 0.5operands0.2360.0000.4630.000+0.050✓
`shaped-a0.6-p1-operands` ▲shaped suppressiona 0.6, p 1operands0.3910.0000.5890.000+0.050✓
`shaped-a0.6-p2-operands` ▲shaped suppressiona 0.6, p 2operands0.6060.0000.7530.000+0.050✓
`shaped-a0.7-p0-operands` ▲shaped suppressiona 0.7, p 0operands0.0670.0000.2760.000+0.050✓
`shaped-a0.7-p0.5-operands` ▲shaped suppressiona 0.7, p 0.5operands0.3550.0000.5640.000+0.050✓
`shaped-a0.7-p1-operands` ▲shaped suppressiona 0.7, p 1operands0.5270.0000.6970.000+0.050✓
`shaped-a0.7-p2-operands` ▲shaped suppressiona 0.7, p 2operands0.7140.0000.8310.000+0.050✓
`linear-a0.3-b0.2-operands` ▲repulsiona 0.3, b 0.2operands0.0830.0000.2970.000+0.050✓
`linear-a0.3-b0.3-operands` ▲repulsiona 0.3, b 0.3operands0.1320.0000.3560.000+0.050✓
`linear-a0.4-b0.2-operands` ▲repulsiona 0.4, b 0.2operands0.0940.0000.3140.000+0.050✓
`linear-a0.4-b0.4-operands` ▲repulsiona 0.4, b 0.4operands0.2040.0000.4330.000+0.050✓
`linear-a0.5-b0.2-operands` ▲repulsiona 0.5, b 0.2operands0.1130.0000.3390.000+0.050✓
`linear-a0.5-b0.4-operands` ▲repulsiona 0.5, b 0.4operands0.2060.0000.4360.000+0.050✓
`linear-a0.5-b0.5-operands` ▲repulsiona 0.5, b 0.5operands0.3080.0000.5280.000+0.050✓
`linear-a0.6-b0.2-operands` ▲repulsiona 0.6, b 0.2operands0.1360.0000.3710.000+0.050✓
`linear-a0.6-b0.4-operands` ▲repulsiona 0.6, b 0.4operands0.2370.0000.4650.000+0.050✓
`linear-a0.6-b0.6-operands` ▲repulsiona 0.6, b 0.6operands0.4530.0000.6400.000+0.050✓
`linear-a0.7-b0.2-operands` ▲repulsiona 0.7, b 0.2operands0.1710.0000.3960.000+0.050✓
`linear-a0.7-b0.4-operands` ▲repulsiona 0.7, b 0.4operands0.2840.0000.5140.000+0.050✓
`linear-a0.7-b0.7-operands` ▲repulsiona 0.7, b 0.7operands0.6200.0000.7660.000+0.050✓

Every trial on recipe-short. Reference rows are shaded.

The proposal

The frozen rule proposes projection, the plain projection at every position. Its margin to the gate is +0.010, less than the deficit band of 0.013. The margin of the operand-only projection is +0.038. 2 other feasible trials sit within one red-accuracy band of the proposal: operands, shaped-a0.1-p0-operands. The mix front, from the gentlest edit to the most complete, as (red accuracy, deficit): shaped-a0.3-p0-operands (0.039, 0.000), shaped-a0.2-p0-operands (0.033, 0.001), shaped-a0.1-p0-operands (0.023, 0.003), projection (0.015, 0.040), shaped-a0.2-p0 (0.014, 0.176), shaped-a0.1-p0 (0.008, 0.230).

On t00 the same trial has a worst deficit of 0.623, outside the gate, and the rule picks shaped-a0.1-p0-operands, shaped suppression at threshold 0.1, ramp p = 0, at the operand positions there.

What the prereg should carry. The rule picks the plain projection, which is the row the anchored-op experiments already score, so on the adopted point this pass changes nothing about the primary intervention. What it adds is the margin: the projection is inside the gate by less than a band. So the prereg should keep the operand-only projection beside it as the selective reference.

Two things the rule did not rank are for the prereg to settle before its seeds are drawn. First, the answer depends on the point: on t00 the same rule picks an operand-only step. A prereg that may run on a syntax-heavy point should name the operand-only operator as its intervention there, rather than choosing it after the read.

Second, there is a candidate that needs no syntax: applied at every position, shaped-a0.4-p0 leaves red accuracy 0.045 at no cost the survey can resolve. That is close to the 0.025 of the operand-only projection, and it uses no position mask, which is what a prompt with unknown operand positions will need. Choosing it here would be post hoc, so it is recorded for the prereg to carry as a third row, re-scored at fresh seeds, if the syntax-free question is worth one.

Post hoc

Nothing was added after the run. The reference rows reproduced to the bit, and every contract check passed on every trial and seed; a failed check fails the scoring task, and none did. The plan allowed for the rule picking a reference row, since the references are trials and the objective ranks them with the rest.

One observation was not anticipated by the plan, and is recorded as exploratory. The plan expected a threshold to trade removal against cost monotonically, with the plain projection at the costly end. Instead, a step set inside the alignment range of the non-red lines costs more than the projection does, on the adopted point and on t00 alike. A line whose states are zeroed on some tokens and kept on others is decoded worse than one zeroed throughout. That suggests a prediction the anchored-op prereg can carry: above the non-red range the whole-sequence cost is zero, and below it the cost rises as the threshold falls.