An interesting demo, but much less than the authors claimCiekawy pokaz, ale dużo mniej, niż piszą autorzy

A sentence-by-sentence check of the TL;DR of “Sparks of Weight-Space Programming” (Takehi, Teoh, Zhang, Khattab, MIT CSAIL, November 2, 2026), based on the authors' public logs and two runs of Qwen.

Sprawdzenie zdanie po zdaniu TL;DR posta „Sparks of Weight-Space Programming” (Takehi, Teoh, Zhang, Khattab, MIT CSAIL, 2 listopada 2026), na podstawie publicznych logów autorów i dwóch przebiegów na Qwenie.

  • Writing small networks: holds. With no feedback, Astra’s networks beat PPO at 100M steps in all three games.
  • Reading weights better than humans or algorithms: not shown. The post tests neither, one line of numpy shows the same signal in its first experiment, and the only test on a large model failed.
  • The Qwen fix: real, but its 6x starts from the looping mode. With no edit and thinking off, the model’s default, it scores 46.0%. The post’s edited score is 48.1%. With thinking off, the edit adds nothing measurable (43.0%).
  • “Soon”: a forecast. The largest written network has 1.5M weights, and the one edit of a real model repaired one failure in one run.
  • Pisanie małych sieci: stoi. Bez informacji zwrotnej sieci Astry biją PPO po 100 mln kroków we wszystkich trzech grach.
  • Czytanie wag lepiej niż ludzie i algorytmy: nie pokazano. Post nie testuje ani jednych, ani drugich, w pierwszym eksperymencie jedna linijka numpy pokazuje ten sam sygnał, a jedyny test na dużym modelu się nie udał.
  • Naprawa Qwena: prawdziwa, ale jej 6x liczone jest od trybu z pętlami. Bez edycji, z wyłączonym myśleniem, czyli w trybie domyślnym, model ma 46,0%. Post po edycji ma 48,1%. Przy wyłączonym myśleniu edycja nie dodaje niczego mierzalnego (43,0%).
  • „Wkrótce”: to prognoza. Największa napisana sieć ma 1,5 mln wag, a jedyna edycja prawdziwego modelu naprawiła jedną usterkę w jednym przebiegu.
7.97,9%
The post: no edit, thinking onPost: bez edycji, myślenie włączone
48.148,1%
The post: with the edit, thinking onPost: z edycją, myślenie włączone
46.046,0%
Measured here: no edit, thinking off, the model’s defaultZmierzone tutaj: bez edycji, myślenie wyłączone, tryb domyślny modelu
43.043,0%
Measured here: with the edit, thinking offZmierzone tutaj: z edycją, myślenie wyłączone

MATH-500, all 500 problems. The 7.9% and 48.1% are the authors' numbers, not re-run here.

MATH-500, wszystkie 500 zadań. 7,9% i 48,1% to liczby autorów, tu ich nie powtórzono.

Analysis, code and this page: Claude Opus 5.5 (Anthropic). Anthropic competes with OpenAI, whose model the post tests.

Analiza, kod i ta strona: Claude Opus 5.5 (Anthropic). Anthropic konkuruje z OpenAI, którego model testuje post.

Pac-Man, agent channelPac-Man, kanał agenta

np.linalg.norm(W1, axis=1).reshape(10, 10, 5)[:, :, 0]

One line of numpy, with no LLM and without running the network: the size of the first-layer weights per input cell draws the maze. A cell the agent never visits keeps its small starting weights.

Jedna linijka numpy, bez LLM i bez uruchamiania sieci: rozmiar wag pierwszej warstwy na komórkę wejścia rysuje labirynt. Komórka, w której agent nigdy nie bywa, zachowuje małe wagi startowe.

Their claim, sentence by sentenceIch teza, zdanie po zdaniu

The claims in the post's TL;DR, in order.

Tezy z TL;DR posta, po kolei, w tłumaczeniu z angielskiego.

1
“We find that frontier LLMs are surprisingly good at natively reading and writing neural network weights, well past what we’d expect from humans or conventional algorithms.”
Odkryliśmy, że czołowe LLM-y są zaskakująco dobre w natywnym czytaniu i pisaniu wag sieci neuronowych, znacznie lepsze, niż oczekiwalibyśmy od ludzi lub konwencjonalnych algorytmów.

Not shownNie pokazano

The post tests no humans, and for reading it compares with no algorithm. Its only comparison is PPO, for writing. In its first experiment, one line of numpy draws the game from the weights, as in the map on this page. Whether a person could then name the game wasn’t tested.

Post nie testuje ludzi, a przy czytaniu nie porównuje z żadnym algorytmem. Jego jedyne porównanie to PPO, przy pisaniu. W pierwszym eksperymencie jedna linijka numpy rysuje grę z samych wag, jak na mapie na tej stronie. Nie sprawdzano, czy człowiek nazwałby potem grę.

2
“Just by looking at the raw weights, GPT-6 Astra can tell what a network was trained to do.”
Patrząc tylko na surowe wagi, GPT-6 Astra potrafi określić, do czego sieć wytrenowano.

True for small networksPrawda dla małych sieci

It gets 4 of 4 game networks and 3 of 3 diffusion models right, and the signal sits in one layer each time. It also names three languages and finds every copying head in small transformers, with Python and a published recipe. The only test of reading a behaviour from weights in a large model failed: Astra couldn’t tell the sycophantic Gemma from the honest one, as the post reports.

Trafnie rozpoznaje 4 z 4 sieci do gier i 3 z 3 modeli dyfuzyjnych, a sygnał leży za każdym razem w jednej warstwie. W małych transformerach nazywa też trzy języki i znajduje wszystkie głowy kopiujące, z Pythonem i opublikowanym przepisem. Jedyny test odczytania zachowania z samych wag w dużym modelu się nie udał: Astra nie odróżniła lizusowskiej Gemmy od uczciwej, co post przyznaje.

3
“And without any environment feedback, it has no trouble writing, from scratch, small game-playing networks that outplay networks trained with PPO for 100 million steps.”
A bez żadnej informacji zwrotnej ze środowiska bez trudu pisze od zera małe sieci do gier, które ogrywają sieci trenowane algorytmem PPO przez 100 milionów kroków.

HoldsStoi

The logs confirm it: no tool calls, and all three games above PPO at 100M steps. Re-scored here, the networks reach 493–497 on Breakout (published 517), 53.3 on Asterix and 51.5 on Seaquest (published 53.2 and 53.1). Short rule-based programs written once by Claude, as a check meant to deflate the result, lost all three games. This is the post’s strongest result. PPO at 100M is a low bar, though: at 500M its best seed still beats Astra on Asterix and Seaquest.

Logi to potwierdzają: zero wywołań narzędzi i wszystkie trzy gry powyżej PPO po 100 mln kroków. Policzone tu ponownie sieci osiągają 493–497 w Breakoucie (opublikowane 517), 53,3 w Asterixie i 51,5 w Seaquest (opublikowane 53,2 i 53,1). Krótkie programy regułowe napisane raz przez Claude’a, jako kontrola mająca osłabić wynik, przegrały we wszystkich trzech grach. To najmocniejszy wynik posta. PPO po 100 mln to jednak niska poprzeczka: po 500 mln jego najlepsze ziarno nadal bije Astrę w Asterixie i Seaquest.

4
“Likewise, asked to make Qwen3.5-0.8B better at math without gradients, Astra identifies an issue in its weights causing reasoning loops that Qwen’s own model card warns about, and fixes this by natively editing 0.016% of the weights.”
Podobnie, poproszona o poprawę Qwen3.5-0.8B w matematyce bez gradientów, Astra wykrywa w jego wagach problem powodujący pętle rozumowania, przed którymi ostrzega karta modelu, i naprawia go, natywnie edytując 0,016% wag.

The fix is real. The wording oversells itNaprawa jest prawdziwa. Opis ją zawyża

The fix works on problems Astra held out, and an edit in a random direction gains almost nothing. But the prompt itself points at the loops (“if the model often fails because it repeats itself and never finishes”), while the authors’ thread says “We simply asked”. “Natively” took 20 hours, 80 Python runs and about 6,000 generated answers. “0.016%” counts the weights touched, while the two edited matrices change by 10.6% and 8.1%. It is also one run: of 7 completed Qwen runs, the other six gained at most 6.2 points.

Naprawa działa na zadaniach odłożonych przez samą Astrę, a edycja w losowym kierunku nie daje prawie nic. Ale prompt sam naprowadza na pętle („if the model often fails because it repeats itself and never finishes”), a wątek autorów mówi „We simply asked”. „Natively” to 20 godzin, 80 uruchomień Pythona i około 6000 wygenerowanych odpowiedzi. „0.016%” to liczba dotkniętych wag, a dwie edytowane macierze zmieniają się o 10,6% i 8,1%. To też jeden przebieg: z 7 ukończonych przebiegów na Qwenie pozostałe sześć zyskało najwyżej 6,2 pkt.

5
“With the same sampling settings, this weight correction raises MATH-500 from 7.9% to 48.1% and generalizes out of the box to instruction following, raising IFEval by 3x.”
Przy tych samych ustawieniach próbkowania ta korekta wag podnosi MATH-500 z 7,9% do 48,1% i od razu uogólnia się na wykonywanie instrukcji, podnosząc IFEval trzykrotnie.

The jump starts from the looping modeSkok liczony jest od trybu z pętlami

The 7.9% describes a model that rarely finishes: with thinking on, 93% of its answers hit the token cap. The edit brings that down to 33%, and the gain comes from those answers, as the post says too. These are the authors’ numbers, not re-run here.

Te 7,9% opisuje model, który rzadko kończy: z włączonym myśleniem 93% odpowiedzi dochodzi do limitu tokenów. Edycja obniża to do 33%, a zysk pochodzi właśnie z tych odpowiedzi, co mówi też post. To liczby autorów, tu ich nie powtórzono.

With no edit and thinking off, the model’s default mode, the same model scores 46.0% on all 500 problems (95% interval 42.5–49.5), although 31% of its answers are cut there too. In that mode the edit adds nothing measurable: 43.0%, a change of −2.9 points (95% interval −6.6 to +0.5).

Bez edycji, z wyłączonym myśleniem, czyli w trybie domyślnym, ten sam model ma 46,0% na wszystkich 500 zadaniach (przedział 95% 42,5–49,5), choć i tu 31% odpowiedzi jest uciętych. W tym trybie edycja nie dodaje niczego mierzalnego: 43,0%, czyli zmiana o −2,9 pkt (przedział 95% −6,6 do +0,5).

IFEval wasn’t measured here. The post’s base of 21.0 is under half the model card’s 44.0 with thinking on and 52.1 with thinking off, so against the card the 3x shrinks to about 1.4x and 1.2x, with protocols that differ.

IFEval nie był tu mierzony. Baza posta, 21,0, to mniej niż połowa liczb z karty modelu: 44,0 z myśleniem i 52,1 bez niego, więc względem karty 3x kurczy się do około 1,4x i 1,2x, przy różnych protokołach.

6
“All of this is possible without allowing Astra to write training loops. It uses its reasoning to figure out what each part of a neural network computes, or should compute, and changes the weights accordingly.”
Wszystko to jest możliwe bez pozwalania Astrze na pisanie pętli treningowych. Używa rozumowania, by ustalić, co każda część sieci oblicza lub powinna obliczać, i odpowiednio zmienia wagi.

True for training loops, thin for the restPrawda co do pętli treningowych, reszta słabo podparta

The prompts forbid training and the logs show none. In four experiments “its reasoning” is one reply with no tools, which is impressive. For Go and Qwen it also means Python, measured activations and many runs of the model. “What each part of a neural network computes” has less behind it: 56 of 144 head labels in the third experiment are “unclear”, and in the one causal check in the logs, the parts Astra named moved the result less than random ones (0.04 against 0.19).

Prompty zabraniają treningu i logi go nie pokazują. W czterech eksperymentach „rozumowanie” to jedna odpowiedź bez narzędzi, co robi wrażenie. Przy go i Qwenie to także Python, zmierzone aktywacje i wiele przebiegów modelu. Za „co każda część oblicza” stoi mniej: 56 ze 144 etykiet głów w trzecim eksperymencie to „unclear”, a w jedynej kontroli przyczynowej w logach składniki wskazane przez Astrę zmieniły wynik mniej niż losowe (0,04 wobec 0,19).

7
“Throughout the history of deep learning, we encoded our simplistic inductive biases into tiny symbolic optimizers like Adam or Muon. This is changing: our neural network weights will soon be natively optimized by LLMs that deliberately reason about their weights.”
Przez całą historię głębokiego uczenia kodowaliśmy nasze uproszczone założenia indukcyjne w maleńkich symbolicznych optymalizatorach, takich jak Adam czy Muon. To się zmienia: wagi naszych sieci wkrótce będą natywnie optymalizowane przez LLM-y, które świadomie rozumują o swoich wagach.

A forecast these results can't carryPrognoza, której te wyniki nie uniosą

The largest written network has 1.5M weights and plays Go against weak opponents, and the one edit of a real model repaired one failure in one run. On Gemma 3 270M, which rarely loops, the same task stayed near the base (2.8% against 2.6–3.8%, under strict grading). The post sets the limit itself: “Editing weights could remove an obstacle that hid an ability, but it could not add an ability the model lacked.”

Największa napisana sieć ma 1,5 mln wag i gra w go ze słabymi przeciwnikami, a jedyna edycja prawdziwego modelu naprawiła jedną usterkę w jednym przebiegu. Na Gemmie 3 270M, która rzadko się zapętla, to samo zadanie zostało blisko bazy (2,8% wobec 2,6–3,8%, przy ścisłym ocenianiu). Post sam wyznacza granicę: „Editing weights could remove an obstacle that hid an ability, but it could not add an ability the model lacked.”

The authors ran into this firstAutorzy trafili na to pierwsi

These comments are in the code the authors published, in exp8_math/code/profiles.py. The post and the experiment's README don't mention these runs.

Te komentarze są w kodzie, który autorzy sami opublikowali, w exp8_math/code/profiles.py. Post i README eksperymentu nie wspominają o tych przebiegach.

# thinking OFF (2026-10-23): with thinking on, the 0.8B looped ("Wait, let's check ...") and 92 % of MATH-500 answers hit 32,768 tokens (MATH-500 9.3 %); the model card: "Qwen3.5-0.8B operates in non-thinking mode by default"
# prompt v5, thinking off: answers are short and v3/v4 gains sat below the noise

So by then the authors knew that the model loops with thinking on and that its default is thinking off. The second comment suggests that edits with thinking off gave no gain above noise, and the measurement here points the same way. The post gives no score for this mode.

Autorzy wiedzieli więc wtedy, że z włączonym myśleniem model się zapętla i że jego domyślny tryb to myślenie wyłączone. Drugi komentarz sugeruje, że edycje przy wyłączonym myśleniu nie dawały zysku ponad szum, a pomiar tutaj wskazuje to samo. Post nie podaje wyniku dla tego trybu.

What deserves creditCo trzeba docenić

The authors published their logs, failures and code comments, which is what made this check possible, and the post states its own limits. The third and fifth experiments are hard to wave away, and the Qwen fix is real engineering: no gradients, a random control and held-out problems.

Autorzy opublikowali logi, porażki i komentarze w kodzie, dzięki czemu to sprawdzenie było w ogóle możliwe, a post sam podaje swoje granice. Eksperymentów trzeciego i piątego nie da się łatwo zbyć, a naprawa Qwena to prawdziwa inżynieria: bez gradientów, z losową kontrolą i zadaniami odłożonymi.

What this check didn’t doCzego to sprawdzenie nie zrobiło

  • Astra wasn’t re-run. Everything about it comes from the authors’ logs, so nothing here says how often it would find the fix again.
  • The post’s 7.9% and 48.1% weren’t re-run. They come from the authors’ files. A longer test, with that re-run and other temperatures, was stopped early because it needed about ten more hours, so this page says nothing about temperature.
  • 46.0% and 48.1% aren’t a strict comparison. They come from different machines and different modes, with token caps of 8,192 and 32,768. They show the same range, not a tie.
  • The 43.0% comes from one sample per problem, and the 46.0% from four. The 43.0% run was added after the original plan.
  • Thinking off isn’t better everywhere. The model card scores thinking on higher on some benchmarks, such as MMLU-Pro.
  • Astry nie uruchamiano ponownie. Wszystko o niej pochodzi z logów autorów, więc nic tu nie mówi, jak często znalazłaby tę naprawę ponownie.
  • Wyników posta 7,9% i 48,1% nie powtórzono. Pochodzą z plików autorów. Dłuższy test, z tą powtórką i innymi temperaturami, przerwano, bo wymagał jeszcze około dziesięciu godzin, więc ta strona nic nie mówi o wpływie temperatury.
  • 46,0% i 48,1% to nie jest ścisłe porównanie. Pochodzą z różnych maszyn i różnych trybów, z limitami 8192 i 32 768 tokenów. Pokazują ten sam zakres, a nie remis.
  • 43,0% to jedna próbka na zadanie, a 46,0% to cztery. Przebieg z 43,0% doszedł już po pierwotnym planie.
  • Wyłączone myślenie nie jest lepsze wszędzie. Karta modelu daje włączonemu myśleniu wyższe wyniki na niektórych benchmarkach, np. MMLU-Pro.

DetailsSzczegóły

What the logs show, experiment by experimentCo pokazują logi, eksperyment po eksperymencie

The numbers below come from the authors' public logs, unless the text says otherwise. Astra wasn't re-run.

Liczby poniżej pochodzą z publicznych logów autorów, chyba że tekst mówi inaczej. Astry nie uruchamiano ponownie.

ExpEksp. 1

Which game was this network trained on?Na jakiej grze trenowano tę sieć?

Correct, and a simple baseline sees the same signalTrafne, a prosty baseline widzi ten sam sygnał

The postPost

Astra names the game of four PPO networks from 17,253 weights pasted as text, with no tools.

Astra nazywa grę czterech sieci PPO na podstawie 17 253 wag wklejonych jako tekst, bez narzędzi.

The logsLogi

4 of 4 correct, with confidence 96–99%. One line of numpy shows the same signal, as in the maps here and at the top of the page: unused input cells keep weights of median size about 0.4, against a maximum of 14–20. Astra's Breakout answer reads it the same way, with strong weights on row 8 and “small initialization-scale values” elsewhere.

4 z 4 trafnie, przy pewności 96–99%. Jedna linijka numpy pokazuje ten sam sygnał, jak na mapach tutaj i na górze strony: nieużywane komórki wejścia mają wagi o medianie około 0,4, a maksimum to 14–20. Odpowiedź Astry dla Breakouta czyta to tak samo: silne wagi w rzędzie 8, a gdzie indziej „small initialization-scale values”.

Breakout, agent channel: the paddle rowBreakout, kanał agenta: rząd paletki
Breakout, reward channel: the brick rowsBreakout, kanał nagród: rzędy cegieł
Pong, agent channel: the paddle columnPong, kanał agenta: kolumna paletki
Freeway, moving objects: the lanesFreeway, obiekty ruchome: pasy ruchu

ReadingOcena

Doing this from pasted text with no tools is a real feat for a language model. The claim “well past what we'd expect from humans or conventional algorithms” doesn't hold for this experiment, because the maps give a person or a short script the same signal. Whether people could name all four games from them wasn't tested.

Zrobienie tego z wklejonego tekstu, bez narzędzi, to prawdziwy wyczyn jak na model językowy. Teza „well past what we'd expect from humans or conventional algorithms” w tym eksperymencie nie trzyma się, bo mapy dają człowiekowi albo krótkiemu skryptowi ten sam sygnał. Nie sprawdzano, czy ludzie nazwaliby z nich wszystkie cztery gry.

ExpEksp. 2

What will this diffusion model generate?Co wygeneruje ten model dyfuzyjny?

3 of 3, with three models3 z 3, na trzech modelach

The postPost

From the weights alone, Astra tells that three diffusion models generate circles, squares and triangles. It draws outlines although the models generate filled shapes, which the post reads as a sign that it reads geometry.

Z samych wag Astra rozpoznaje, że trzy modele dyfuzyjne generują koła, kwadraty i trójkąty. Rysuje kontury, choć modele generują pełne kształty, co post traktuje jako znak, że czyta geometrię.

The logsLogi

3 of 3, with confidence 77–88%. Plotting the strongest units of the output layer as 12×12 images shows pieces of the shape's edge, so this signal also sits in plain view in one layer.

3 z 3, przy pewności 77–88%. Wykreślenie najsilniejszych jednostek warstwy wyjściowej jako obrazków 12×12 pokazuje fragmenty krawędzi kształtu, więc i ten sygnał leży na wierzchu w jednej warstwie.

ReadingOcena

A fair demonstration. Three models with one attempt each can't carry a general claim.

Uczciwa demonstracja. Trzy modele po jednej próbie nie uniosą ogólnej tezy.

ExpEksp. 3

What did a language model learn, from its middle layers alone?Czego nauczył się model językowy, sądząc tylko po środkowych warstwach?

The strongest reading resultNajmocniejszy wynik czytania

The postPost

With input and output layers removed and no forward pass allowed, Astra names the language of three small transformers in both attempts and finds every copying head.

Bez warstw wejściowej i wyjściowej i bez przebiegu w przód Astra w obu próbach nazywa język trzech małych transformerów i znajduje wszystkie głowy kopiujące.

The logsLogi

10 of 10 copying-head answers are right, with no false positives. The ground truth separates cleanly: copying heads score 0.22–0.55, all others at most 0.02. The method is the weight-multiplication recipe from Elhage et al., as the post says, and the prompt defines the label (“'copy' (induction: attends to the character right after an earlier occurrence…)”). The language question is a forced choice among three named texts, answered with confidence 48–62%, on one network per language, so luck would get all three right in one pass about 4% of the time. Other head labels are weaker: 56 of 144 are “unclear”, and the two attempts agree on 19, 7 and 22 of 24 heads.

10 z 10 odpowiedzi o głowach kopiujących jest poprawnych, bez fałszywych trafień. Prawda rozdziela się czysto: głowy kopiujące mają 0,22–0,55, a pozostałe najwyżej 0,02. Metoda to przepis z mnożeniem wag z pracy Elhage i in., co post przyznaje, a prompt definiuje etykietę („'copy' (induction: attends to the character right after an earlier occurrence…)”). Pytanie o język to wymuszony wybór spośród trzech nazwanych tekstów, z pewnością 48–62%, na jednej sieci na język, więc szczęście dałoby trzy trafienia w jednym podejściu w około 4% przypadków. Pozostałe etykiety głów są słabsze: 56 ze 144 to „unclear”, a obie próby zgadzają się dla 19, 7 i 22 z 24 głów.

ReadingOcena

Real evidence of reading structure from mid-network weights, with Python and a published recipe. It deserves a repeat on more networks per language.

Prawdziwy dowód na czytanie struktury z wag środka sieci, z Pythonem i opublikowanym przepisem. Warto to powtórzyć na większej liczbie sieci na język.

ExpEksp. 4

Fix a failing car policy by editing weightsNapraw zepsutą politykę auta, edytując wagi

Works, as a hand-written overrideDziała, jako ręcznie wpisane sterowanie

The postPost

In one reply with no tools, Astra edits 3.5% of the weights and the car succeeds in all 1,024 episodes, up from 0%.

W jednej odpowiedzi, bez narzędzi, Astra edytuje 3,5% wag i auto wygrywa we wszystkich 1024 epizodach, a wcześniej w 0%.

The logsLogi

51 statements change 6,073 of 171,664 weights. The authors' result file gives rel_change 25.66, and the answer writes values like 80 and −876. All 1,024 episodes return exactly 1.373849868774414 and last 73 steps, so this is one trajectory repeated. The added path holds control until the green wheel passes x = 0.95, which this audit places at about step 67–68 of 73, roughly 93% of the episode.

51 instrukcji zmienia 6073 ze 171 664 wag. Plik wynikowy autorów podaje rel_change 25,66, a odpowiedź wpisuje wartości takie jak 80 i −876. Wszystkie 1024 epizody zwracają dokładnie 1,373849868774414 i trwają 73 kroki, więc to jedna powtórzona trajektoria. Dodana ścieżka trzyma sterowanie, aż zielone koło minie x = 0,95, co ten audyt umieszcza około kroku 67–68 z 73, czyli mniej więcej przez 93% epizodu.

ReadingOcena

A correct one-shot physics plan compiled into the network, which is impressive, and the post describes the path honestly. Still, “3.5% of the weights” undersells how much behaviour was replaced: the trained policy barely drives in the winning run.

Poprawny za pierwszym razem plan fizyczny wkompilowany w sieć robi wrażenie, a post uczciwie opisuje tę ścieżkę. Mimo to „3,5% wag” zaniża skalę zmiany zachowania: wytrenowana polityka prawie nie prowadzi w wygranym przejeździe.

ExpEksp. 5

Write game networks from scratchNapisz od zera sieci grające w gry

Holds, and it beat Claude's attemptWynik stoi, a próba Claude'a przegrała

The postPost

Given the rules and source code, with no feedback, Astra writes whole networks in one reply and beats PPO at 100M steps in all three games. The authors' thread adds that its Breakout network “scored 20× higher than PPO trained for 500M steps”.

Mając zasady i kod źródłowy, bez informacji zwrotnej, Astra pisze całe sieci w jednej odpowiedzi i bije PPO po 100 mln kroków we wszystkich trzech grach. Wątek autorów dodaje, że sieć do Breakouta „scored 20× higher than PPO trained for 500M steps”.

The logsLogi

The table matches the authors' evaluation file, and the tool audit shows no tool calls. Only 815, 803 and 637 of 20,486 weights are nonzero: these are designed programs compiled into a network, with saturated gates such as ±1000 in Breakout. The PPO baselines are weak: after 100M steps they end Breakout in under 180 steps on average. The thread's 20× is Breakout only (517.4 against 25.3). At 500M steps Astra beats PPO's median seed in all three games, while PPO's best seed still scores higher on Asterix and Seaquest. Exploratory control, added after the plan: Claude wrote short rule-based programs once, from the same source files, with no game runs before scoring and no tuning afterwards. They lost to Astra in all three games. Astra's networks re-scored with the same code give 53.3 and 51.5 on Asterix and Seaquest, matching the published means. Breakout came out at 493.2 and then 497.4 on new seeds, about 4% under the published 517.4, and the cause is unknown.

Tabela zgadza się z plikiem ewaluacji autorów, a audyt narzędzi nie pokazuje żadnych wywołań. Niezerowych jest tylko 815, 803 i 637 z 20 486 wag: to zaprojektowane programy wkompilowane w sieć, z nasyconymi bramkami, np. ±1000 w Breakoucie. Punkty odniesienia PPO są słabe: po 100 mln kroków kończą Breakouta średnio przed 180. krokiem. Te 20× z wątku dotyczy tylko Breakouta (517,4 wobec 25,3). Po 500 mln kroków Astra bije medianowe ziarno PPO we wszystkich trzech grach, a najlepsze ziarno PPO nadal zdobywa więcej w Asterixie i Seaquest. Kontrola eksploracyjna, dodana po planie: krótkie programy regułowe napisane przez Claude'a raz, z tych samych plików źródłowych, bez uruchamiania gry przed pomiarem i bez późniejszego dostrajania. Przegrały z Astrą we wszystkich trzech grach. Sieci Astry policzone tym samym kodem dają 53,3 i 51,5 w Asterixie i Seaquest, zgodnie z opublikowanymi średnimi. Breakout wyszedł 493,2, a potem 497,4 na nowych ziarnach, około 4% poniżej opublikowanych 517,4, a przyczyny nie ustalono.

GameGraPPO 100M best seednajlepsze ziarnoPPO 500M best seednajlepsze ziarnoAstra publishedopublikowaneAstra re-scored herepoliczone tutajClaude's ruleReguła Claude'a one attempt, this testjedna próba, ten test
Breakout15.815,825.325,3517.4517,4493.2493,210.210,2
Asterix25.825,855.255,253.253,253.353,317.417,4
Seaquest5.65,688.988,953.153,151.551,536.436,4

ReadingOcena

The strongest writing result, and it passed a check meant to deflate it. This is programming with weights as the target language, which is what the post's title says. Reading existing weights plays no part here.

Najmocniejszy wynik pisania, który przeszedł kontrolę mającą go osłabić. To programowanie, w którym językiem docelowym są wagi, czyli dokładnie to, co mówi tytuł posta. Czytanie istniejących wag nie gra tu żadnej roli.

ExpEksp. 6

Write a Go networkNapisz sieć grającą w go

Holds, absolute strength unknownWynik stoi, bezwzględna siła nieznana

The postPost

On a 1.5M-weight network, budget 0 wins more than half its games against two small PPO networks. With 50 forward passes it beats a same-size PPO network.

W sieci z 1,5 mln wag budżet 0 wygrywa ponad połowę partii z dwiema małymi sieciami PPO. Z 50 przebiegami w przód bije sieć PPO tej samej wielkości.

The logsLogi

Budget 0: 54.1% and 54.9%. Budget 50: 84.0% and 80.8%. Against same-size PPO seeds: 42.6, 26.3 and 36.3% at budget 0, and 74.2, 70.0 and 78.5% at budget 50. One run per budget. There's no visible overfit to the practice opponent. Wins come with margins of about +51 on an 81-point board and about 63 stones captured per game, so these opponents are weak, and the logs have no outside yardstick such as GNU Go.

Budżet 0: 54,1% i 54,9%. Budżet 50: 84,0% i 80,8%. Przeciw ziarnom PPO tej samej wielkości: 42,6, 26,3 i 36,3% przy budżecie 0 oraz 74,2, 70,0 i 78,5% przy budżecie 50. Jeden przebieg na budżet. Nie widać przeuczenia do przeciwnika treningowego. Wygrane mają przewagę około +51 na planszy z 81 punktami i około 63 zbite kamienie na partię, więc ci przeciwnicy są słabi, a w logach nie ma zewnętrznej miary, np. GNU Go.

ReadingOcena

A hand-built Go heuristic that improves with feedback is a solid result. How strong it is in absolute terms stays open.

Ręcznie zbudowana heurystyka do go, która poprawia się dzięki informacji zwrotnej, to solidny wynik. Jej bezwzględna siła pozostaje otwarta.

ExpEksp. 7

Which language model is sycophantic?Który model językowy jest lizusem?

Failed from weights, as the post saysZ samych wag się nie udało, co post przyznaje

The postPost

From weights alone, Astra could not tell which Gemma copy is the sycophant, in four attempts. With a tool that shows attention patterns, it picks right in all three pairs.

Z samych wag Astra nie potrafiła wskazać lizusa wśród kopii Gemmy w czterech próbach. Z narzędziem pokazującym wzorce uwagi trafia we wszystkich trzech parach.

The logsLogi

Attempts 1–3 answer P = 0.5 on every pair, and attempt 4 was stopped undecided. With the attention tool the confidence is 90%, 97% and 55%, and on pair 3 Astra calls its own answer “a weak, subjective judgment”. A causal check the post doesn't show, run for the tool round on pair 1 only: patching the components Astra named closes 0.04 of the margin, the largest weight changes 0.08, and random components 0.19 on average.

Próby 1–3 dają P = 0,5 dla każdej pary, a próbę 4 przerwano bez rozstrzygnięcia. Z narzędziem uwagi pewność to 90%, 97% i 55%, a przy parze 3 Astra sama nazywa swoją odpowiedź „a weak, subjective judgment”. Kontrola przyczynowa, której post nie pokazuje, dla rundy z narzędziem zrobiona tylko na parze 1: podmiana składników wskazanych przez Astrę zamyka 0,04 marginesu, największe zmiany wag 0,08, a losowe składniki średnio 0,19.

ReadingOcena

This is the only test of reading a behaviour from weights alone in a large model, and it failed. The attention tool is a forward pass with a restricted readout: useful interpretability, and no longer weight reading. The post's outlook (“Auditing without evaluation”, backdoors found from the weights) gets no support from this experiment so far.

To jedyny test odczytania zachowania z samych wag w dużym modelu i nie wyszedł. Narzędzie uwagi to przebieg w przód z ograniczonym odczytem: przydatna interpretowalność, ale już nie czytanie wag. Wizja z końca posta („Auditing without evaluation”, tylne furtki znajdowane z wag) nie ma w tym eksperymencie na razie oparcia.

ExpEksp. 8

Make a language model better at mathPopraw model językowy w matematyce

Real effect, one run, in the looping modePrawdziwy efekt, jeden przebieg, w trybie z pętlami

The postPost

With 50 forward passes, Astra traces looping to one direction written by the MLPs of layers 15 and 19 and subtracts it from 64 output columns in each. MATH-500 goes 7.9 to 48.1, GSM8K 13.8 to 67.1, IFEval 21.0 to 62.3.

Z 50 przebiegami w przód Astra wiąże pętle z jednym kierunkiem zapisywanym przez MLP warstw 15 i 19 i odejmuje go z 64 kolumn wyjściowych w każdej. MATH-500 rośnie z 7,9 do 48,1, GSM8K z 13,8 do 67,1, IFEval z 21,0 do 62,3.

The logsLogi

The edit: W = W0 - 6*outer(u, mask64*(u@W0)), a relative change of 10.6% and 8.1%, with the direction taken from matched repetitive and productive activation contexts. The prompt: the authors' thread says “We simply asked Astra to make Qwen3.5-0.8B better at math” and “Astra saw Qwen get stuck in reasoning loops”. The prompt, public in the post's trace viewer, already points there: “if the model often fails because it repeats itself and never finishes, finding and fixing what drives that repetition counts”, and “(often while repeating itself in its thinking)”. The prompts of the 10-, 25- and 50-pass runs differ only in the budget, so the jump at 50 passes isn't a prompt effect. The effort: 34 generation and 16 teacher-forced passes, about 6,000 answers, 158 turns, 80 Python runs, 20.3 hours. Astra's own held-out test: 1,152 practice problems go from 10.6% to 60.4% (+49.8 ± 1.5), 579 rescued against 5 lost, and a random-direction control gives +1.56 ± 3.52. Answers that already finished stay at 93.9%, and answers that were cut go from 1.4% to 56.7%. The runs: of 7 completed Qwen runs, six add at most 6.2 points on MATH-500. The single 50-pass run adds 40.2.

Edycja: W = W0 - 6*outer(u, mask64*(u@W0)), zmiana względna 10,6% i 8,1%, a kierunek pochodzi z dopasowanych kontekstów aktywacji: powtarzających się i produktywnych. Prompt: wątek autorów mówi „We simply asked Astra to make Qwen3.5-0.8B better at math” i „Astra saw Qwen get stuck in reasoning loops”. Prompt, jawny w przeglądarce śladów posta, sam tam prowadzi: „if the model often fails because it repeats itself and never finishes, finding and fixing what drives that repetition counts”, a także „(often while repeating itself in its thinking)”. Prompty przebiegów z 10, 25 i 50 przejściami różnią się tylko budżetem, więc skok przy 50 przejściach nie wynika z promptu. Nakład: 34 przebiegi z generowaniem i 16 z wymuszonym tekstem, około 6000 odpowiedzi, 158 tur, 80 uruchomień Pythona, 20,3 godziny. Własny test Astry na odłożonych danych: 1152 zadania ćwiczebne idą z 10,6% do 60,4% (+49,8 ± 1,5), 579 uratowanych wobec 5 straconych, a kontrola z losowym kierunkiem daje +1,56 ± 3,52. Odpowiedzi, które już się kończyły, zostają na 93,9%, a ucinane idą z 1,4% do 56,7%. Przebiegi: z 7 ukończonych przebiegów na Qwen sześć dodaje najwyżej 6,2 pkt na MATH-500. Jedyny przebieg z 50 przejściami dodaje 40,2.

ReadingOcena

The effect is real, held out, and has good internal controls. The whole gain comes from answers that used to be cut off, which the post says too: “Fixing loops, however, is not the same as making a model better at math.” It rests on one run, and nobody has checked whether Astra would find it again.

Efekt jest prawdziwy, sprawdzony na odłożonych danych i ma dobre kontrole wewnętrzne. Cały zysk pochodzi z odpowiedzi, które wcześniej były ucinane, co mówi też sam post: „Fixing loops, however, is not the same as making a model better at math.” Opiera się na jednym przebiegu i nikt nie sprawdził, czy Astra znalazłaby to ponownie.

One name, three skillsJedna nazwa, trzy umiejętności

The post files everything under one name, weight-space programming. The logs show three different things, all impressive for a general-purpose LLM.

Post zbiera wszystko pod jedną nazwą: programowanie w przestrzeni wag. Logi pokazują trzy różne rzeczy, wszystkie robiące wrażenie jak na ogólny LLM.

Reading plain signalsCzytanie jawnych sygnałów

Exp 1, 2, partly 3Eksp. 1, 2, częściowo 3

The signal sits in one layer or follows a published recipe. A short script can expose much of it.

Sygnał siedzi w jednej warstwie albo wynika z opublikowanego przepisu. Krótki skrypt potrafi wydobyć dużą jego część.

Compiling designed programs into weightsKompilowanie zaprojektowanych programów do wag

Exp 4, 5, 6Eksp. 4, 5, 6

The model reasons about the task, then writes the program as a network. It doesn't need to read trained weights to do this.

Model rozumuje o zadaniu, a potem zapisuje program jako sieć. Nie musi do tego czytać wytrenowanych wag.

Autonomous interpretability with activationsSamodzielna interpretowalność na aktywacjach

Exp 8, Exp 7 with the toolEksp. 8, eksp. 7 z narzędziem

Many forward passes, activation measurements, and an edit in the style of known direction-removal methods. The novelty is the autonomy.

Wiele przebiegów w przód, pomiary aktywacji i edycja w stylu znanych metod usuwania kierunku. Nowością jest samodzielność.

Reading a behaviour from the weights alone in a large model is the capability the outlook needs for auditing, and it has one test so far, Exp 7, which failed.

Odczytanie zachowania z samych wag w dużym modelu to umiejętność, której wizja audytu potrzebuje najbardziej. Jak dotąd ma jeden test, eksperyment 7, i ten test nie wyszedł.

The model card's own numbersLiczby z karty modelu

The card reports no MATH-500 or GSM8K for this model. It does report three benchmarks the post also uses, and the picture is mixed.

Karta nie podaje dla tego modelu MATH-500 ani GSM8K. Podaje za to trzy benchmarki użyte też w poście, a obraz jest niejednoznaczny.

BenchmarkBenchmarkCard, thinking offKarta, myślenie wyłączoneCard, thinking on, T 1.0Karta, myślenie włączone, T 1,0Post, unedited, T 0.6Post, bez edycji, T 0,6Post, edited, T 0.6Post, z edycją, T 0,6
IFEval52.152,144.044,021.021,062.362,3
MMLU-Pro29.729,742.342,340.340,345.545,5
GPQA–11.911,922.722,736.636,6

The post's IFEval base is half the card's thinking-on number, so its “3x” shrinks to about 1.4x against the card's figure. On MMLU-Pro the post's base is close to the card, and on GPQA it is higher. The edited model beats the card's thinking-off numbers on IFEval and MMLU-Pro, which counts for the edit. Protocols differ (the card's table used T 1.0, line 285, and the post's T 0.6 is the card's setting for vision benchmarks, line 577), so treat this as context.

Baza IFEval w poście to połowa liczby z karty dla włączonego myślenia, więc „3x” kurczy się do około 1,4x względem karty. Na MMLU-Pro baza posta jest blisko karty, a na GPQA jest wyższa. Model z edycją przebija liczby z karty dla wyłączonego myślenia na IFEval i MMLU-Pro, co przemawia za edycją. Protokoły się różnią (tabela karty używa T 1,0, wiersz 285, a T 0,6 z posta to ustawienie z karty dla benchmarków wizyjnych, wiersz 577), więc to tylko kontekst.

Method and changes from the planMetoda i zmiany względem planu
  • Models. Qwen/Qwen3.5-0.8B at revision 2fc06364, text-only export with the authors' config. The edited model is the authors' published p50c diff. Tensors match the sha256 values in their manifest.
  • Generation. vLLM 0.33.0, bfloat16, RTX 4060 8 GB, at most 32 concurrent answers, per-sample seeds as in the authors' evaluate.py, no early stopping of loops.
  • Grading. The authors' mathqa.py, which reproduced their grades on 400 of 400 published samples.
  • Statistics. 95% percentile bootstrap over problems, 10,000 resamples. Paired differences use the problems both runs share.
  • Plan. Frozen before the first measured answer, at 23:15:40 local time on November 2, 2026. sha256 24800e252cd45303cdb3473de1236783de46640bae726bd52d5fac6174f87dfd.
  • Changes from the plan. Listed in full below it. The main one: the test was stopped early, so of the plan's measurements only the unedited model with thinking off on MATH-500 finished, and the plan's decision rules were never applied. The edited model with thinking off, the Exp 1 maps and the MinAtar control were added after the plan.
  • Modele. Qwen/Qwen3.5-0.8B w rewizji 2fc06364, eksport tekstowy z konfiguracją autorów. Model z edycją to opublikowany przez autorów diff p50c. Tensory zgadzają się z sumami sha256 z ich manifestu.
  • Generowanie. vLLM 0.33.0, bfloat16, RTX 4060 8 GB, najwyżej 32 równoczesne odpowiedzi, ziarna na próbkę jak w evaluate.py autorów, bez wczesnego przerywania pętli.
  • Ocenianie. mathqa.py autorów, który odtworzył ich oceny na 400 z 400 opublikowanych próbek.
  • Statystyka. 95% percentylowy bootstrap po zadaniach, 10 000 losowań. Różnice sparowane liczone są na zadaniach wspólnych dla obu przebiegów.
  • Plan. Zamrożony przed pierwszą mierzoną odpowiedzią, 2 listopada 2026 o 23:15:40 czasu lokalnego. sha256 24800e252cd45303cdb3473de1236783de46640bae726bd52d5fac6174f87dfd.
  • Zmiany względem planu. Pełna lista jest pod nim. Najważniejsza: test przerwano, więc z pomiarów z planu ukończono tylko model bez edycji z wyłączonym myśleniem na MATH-500, a reguł decyzyjnych z planu nigdy nie zastosowano. Model z edycją przy wyłączonym myśleniu, mapy z eksperymentu 1 i kontrola MinAtar doszły po planie.
The plan as frozen before the run (in English)Plan zamrożony przed przebiegiem (po angielsku)
# Sampling-control test for Experiment 8 of "Sparks of Weight-Space Programming"

Written before any of the measured conditions below were run. The only earlier GPU run was a 7-minute speed test on
MATH-500 problems outside the fixed subset; its answers are not part of any result.

## Question

The post reports that editing 0.016% of Qwen3.5-0.8B's weights raises MATH-500 from 7.9% to 48.1%, with thinking on,
temperature 0.6, top_p 0.95, top_k 20, presence penalty 1.5 and a cap of 32,768 tokens. In that setting 93% of the unedited
model's answers run into the cap.

The model card warns about thinking loops at this model size and recommends tuning the sampling. It also recommends
temperature 1.0 for thinking on text, and says the model runs in non-thinking mode by default. The post reports no control
for either. This test asks:

1. **Q1:** does the unedited model still loop at the card's recommended temperature for thinking on text?
2. **Q2:** what does the unedited model score in its default non-thinking mode?
3. **Q3:** how much does the weight edit add once the sampling is the card's recommended one?

This is a control for the size and meaning of the gain. It cannot show that the edit does nothing: the edit's effect in
the post's own setting is expected to replicate.

## Models

Unedited: `Qwen/Qwen3.5-0.8B`, revision `2fc06364715b967f1860aea9cf38778875588b17`, text-only export using the authors'
published config. Edited: the authors' published `p50c` diff applied to it. Both are checked against the sha256 values in
the authors' manifest.

## Conditions, in running order

| Name | Weights | Thinking | T | top_p | top_k | presence | Max tokens | Data | Why |
|---|---|---|---|---|---|---|---|---|---|
| N1_nothink_T07_p08_pp15 | unedited | off | 0.7 | 0.8 | 20 | 1.5 | 8,192 | MATH-500 (all, 4 samples), GSM8K (all, 2 samples) | Card's non-thinking benchmark setting |
| C0_think_T06_pp15 | unedited | on | 0.6 | 0.95 | 20 | 1.5 | 32,768 | MATH-500 subset, 1 sample | The post's baseline; calibration |
| E0_edit_T06_pp15 | edited | on | 0.6 | 0.95 | 20 | 1.5 | 32,768 | same | The post's edited model; calibration |
| C1_think_T10_pp15 | unedited | on | 1.0 | 0.95 | 20 | 1.5 | 32,768 | same | Card's recommended thinking setting for text |
| C3_think_T10_pp20 | unedited | on | 1.0 | 0.95 | 20 | 2.0 | 32,768 | same | Top of the presence range the card suggests against repetition |
| E1_edit_T10_pp15 | edited | on | 1.0 | 0.95 | 20 | 1.5 | 32,768 | same | The edit under the card's recommended setting |
| N2_nothink_T10_p10_pp20 | unedited | off | 1.0 | 1.0 | 20 | 2.0 | 8,192 | MATH-500 (all, 4 samples), GSM8K (all, 2 samples) | Card's recommended non-thinking setting for text |
| C2_think_T06_pp00 | unedited | on | 0.6 | 0.95 | 20 | 0.0 | 32,768 | MATH-500 subset, 1 sample | Card's "precise coding" setting |

The MATH-500 subset is 100 problems drawn once by `prepare_bench.py` (seed 20261102, from sorted ids). Later conditions may
be cut short by the deadline of 07:30 local time on 2026-11-03; comparisons then use the problems shared by both conditions,
and any shortened condition is labelled as such.

## Method

- vLLM 0.33.0, bfloat16, RTX 4060 (8 GB), at most 10 concurrent answers in thinking runs and 32 in non-thinking runs.
- Chat template, instruction text, per-sample seeds and grader as in the authors' `evaluate.py` and `mathqa.py`. The copied
  grader reproduced the authors' grades on 400 of 400 of their published samples.
- No early stopping of loops: every answer runs to its end or to the cap.
- Primary outcomes: accuracy and share of answers cut at the token cap on MATH-500. Intervals: 95% bootstrap over problems.

## Decision rules, fixed in advance

**Calibration.** C0 and E0 must agree with the authors' scores on the same 100 problems: accuracy within the 95% interval of
the difference, and cut share within 10 points of the authors' published full-set values (93% and 33%). If either fails, the
thinking-mode conditions are reported as not comparable with the post, and the cause is investigated before any conclusion.

**Q1.** The hypothesis "the post's baseline depends strongly on temperature" counts as supported only if C1, compared with C0
on the same problems, gains at least 15 accuracy points with an interval excluding zero **and** lowers the cut share by at
least 20 points. Otherwise it counts as rejected, and that is what gets reported.

**Q2.** Descriptive. N1 and N2 are reported as they come. Non-thinking is explicitly out of scope for the edit in the post's
protocol, so these numbers give context for the gain and do not compete with the edit.

**Q3.** The edit's added value at the card's setting is E1 minus C1, reported with its interval whatever its size.

## Reporting

All conditions get reported, including those that contradict the hypothesis. Any analysis added after seeing results is labelled
exploratory. Raw answers, scripts and this plan are kept in this folder.
Every change from the plan (in English)Każda zmiana względem planu (po angielsku)
# Changes from the plan

The plan stays as frozen (sha256 `24800e252cd45303cdb3473de1236783de46640bae726bd52d5fac6174f87dfd`), and its full text is on the
results page. Everything that differs from it is listed here, in the order it happened. The decision rules have not changed,
and they were never applied (item 12).

## Before the restart, on 2026-11-02

1. **Process cleanup in `run_cond.py`, after the queue had started.** vLLM's engine outlives its parent, so a run now stops
   leftover engines at start and its own engine at exit. Generation code is unchanged.
2. **Rule code added to `analyze.py`, after the queue had started.** It applies the plan's rules to the saved answers.
3. **One partial look at N1 math500**, at 218 answers (119 correct, 53 cut at 8,192 tokens), to check that the runner and the
   grader worked. The count is biased because short answers finish first. It changed nothing.
4. **Exploratory additions after the freeze:** the Experiment 1 weight maps and the MinAtar control. Both are labelled exploratory.

## The restart

5. **The run stopped overnight and resumed on 2026-11-03.** It stopped with 831 of 2,000 N1 math500 answers saved, all valid.
   The answers in flight were generated again on resume, so the finished condition has no gap.

## Changes made on restart, on 2026-11-03 around 05:00

Decided before any of C0, E0, C1, E1, C3, C2 or N2 had produced an answer. The only measured results known at that point were
the partial look above.

6. **Deadline moved from 07:30 to 18:00 on 2026-11-03.** With 07:30, only N1 and part of C0 would have run, so none of the
   decision rules could have been applied.
7. **Running order changed** so that the conditions the decision rules need come first:
   - Plan: N1 math500, N1 gsm8k, C0, E0, C1, C3, E1, N2 math500, N2 gsm8k, C2.
   - Now: N1 math500, C0, E0, C1, E1, N1 gsm8k, C3, N2 math500, N2 gsm8k, C2.
8. **`run_queue_v2.sh` waits for free GPU memory before each attempt.** `run_queue.sh` is the original version. Settings, seeds
   and generation are unchanged.
9. **One exploratory condition added, around 05:05 on 2026-11-03: the edited model with thinking off** (`E2_edit_nothink_T07`, the
   settings of N1, MATH-500 first with 1 sample, later with 4, and GSM8K last if time allows). The plan left this out because the
   post's protocol is thinking on. It answers a question the other conditions can't: does the edit add anything when the model
   doesn't loop? It was added before N1 had finished and before any edited answer with thinking off existed. It sits behind
   `run_queue_v3.sh`, which replaced v2 after a few minutes, and only its first 500 answers run ahead of the plan's conditions,
   about 20 minutes. It decides no rule, and the page labels it exploratory.
10. **Exploratory comparisons added to `analyze.py`:** E2 minus N1, and N1 and E2 against the authors' per-problem results on all
    500 problems. They use the authors' published scores directly, so they lean on the calibration of C0 and E0. Also added:
    finished answers from E0 and E1 against N1 on the same problems. Finishing relates to being right within a problem, so this
    describes finished answers and shows no cause. None of these comparisons decides a rule.
11. **What E2 can show, restated at about 05:50 on 2026-11-03, before E2 had finished and before any of its answers were read.**
    Item 9 called thinking off the mode where the model doesn't loop. N1 then showed 31.4% of answers cut at 8,192 tokens, so this
    mode often fails to finish too, and fewer cuts there would be the same defect. A comparison of finished answers, E2 against N1,
    was added to `analyze.py`. The page reports accuracy, cut share and finished answers for E2, and it says the edit does more than
    let answers finish only if accuracy rises and the interval for finished answers sits above zero. This decides no rule.

## Stopped early, on 2026-11-03

12. **The queue was stopped by hand at 06:24 on 2026-11-03, so most of the plan didn't run.** Finishing it would have taken about
    ten more hours, and the conclusions don't wait for it.
    - Finished: N1 on MATH-500 (2,000 answers) and E2 on MATH-500 (500 answers).
    - Not run: E0, C1, C3, E1, C2, N2, N1 on GSM8K, and the further E2 samples and GSM8K.
    - C0 was stopped at 10 of 100 answers. Those answers weren't analysed or published. Answers that finish first are the short
      ones, so they would have been biased.
    - So the calibration rule and the rules for Q1 and Q3 were never applied, the post's 7.9% and 48.1% weren't re-measured, and the
      comparisons with the post's scores aren't calibrated. The page says nothing about temperature.