Skip to content

Write the note at the length the README promises - #3

Merged
DenisDrobyshev merged 1 commit into
mainfrom
deeper-notes
Aug 23, 2026
Merged

Write the note at the length the README promises#3
DenisDrobyshev merged 1 commit into
mainfrom
deeper-notes

Conversation

@DenisDrobyshev

Copy link
Copy Markdown
Member

The first note ran to about a screen — 606 words. The README promises a note is readable without the original open, and a screen does not do that. What it produces is the abstract-with-links shape: a claim, a gesture at the evidence, a conclusion. A bookmark with paragraph breaks.

Now 1,787 words in English and 1,526 in Russian, and longer in specific places rather than padded.

What got added

The algorithm is stated, not assumed. δ = r + γV(s′) − V(s), what each term is, and the three properties of the error — positive on surprise, zero once predicted, moving backwards in time — that the recordings are then matched against one by one. The old note expected the reader to already have this and jumped straight to the match.

The causal evidence is in, and it was the biggest gap. The old note said the 1997 design was correlational and stopped there. True in 1997; not true since 2013. Steinberg's blocking experiment is what upgrades the claim from looks like an error signal to acts like one: activating dopamine neurons at the moment the theory says the error should be zero produced learning about a cue that blocking should have prevented. An artificial δ inserted where none existed did what a real one would have.

Each complication gets a subsection with its mechanism, instead of a paragraph apiece:

  • heterogeneous populations — value-coding versus salience-like, and that they are anatomically separable, so an experiment sampling without regard to site averages the two;
  • the distributional code — why an asymmetrically-weighted neuron converges on a quantile rather than a mean, which is the step that makes the result mean anything;
  • striatal ramping — a measurement still in tension with the simple story, taken with a different method on a different timescale.

"What would change this note" names concrete results rather than gesturing at future work.

Sources

Two added, both checked against Crossref before use: Sutton 1988 for the algorithm, Howe 2013 for ramping — alongside Steinberg 2013.

All six DOIs resolve. Five return 200; 10.1126/science.275.5306.1593 returns 403 to a datacentre request, which is Cloudflare rather than a dead link — the metadata was confirmed through Crossref, and external-links.yml already accepts 403 for exactly this case.

Written down, not remembered

CONTRIBUTING.md gains How long a note is — the four things a note has to do to keep the README's promise, and explicitly no word count, because a target invites padding. The test given is whether a reader who has not opened the paper can follow the argument and find where it would break.

templates/note.md grows the sections that produce that shape: the background the claim needs, what the design cannot establish, one subsection per complication, and a falsification section that has to name a result.

Verified

check_notes.py passes — both notes keep the front-matter contract, the translation carries the original's date, and neither is orphaned. mkdocs build --strict passes with no warnings.

The first note ran to about a screen. The README promises a note is readable
without the original open, and a screen does not do that - it produces the
abstract-with-links shape, which is a bookmark with paragraph breaks.

Roughly three times longer now, and longer in specific places rather than
padded:

The TD algorithm is stated properly, with the equation and what each term
means, plus the three properties of the error that the recordings are then
matched against. Previously the note assumed the reader already had this.

The causal evidence is in. Steinberg's blocking experiment is what upgrades the
claim from "looks like an error signal" to "acts like one" - dopamine neurons
activated where the theory says the error should be zero produced learning
about a cue that blocking should have prevented. The old note said the design
was correlational and left it there, which was true in 1997 and has not been
true since 2013.

The complications get a subsection each with their mechanism explained, rather
than a paragraph apiece: heterogeneous populations, the distributional code and
why an asymmetric neuron converges on a quantile rather than a mean, and
striatal ramping as a measurement still in tension with the simple story.

"What would change this note" now names concrete results instead of gesturing.

Two more sources, both verified against Crossref before use: Sutton 1988 for
the algorithm, Howe 2013 for ramping, alongside Steinberg 2013.

CONTRIBUTING gains a section on how long a note is, so the expectation is
written down rather than remembered, and templates/note.md grows the sections
that shape it - background, what the design cannot establish, one subsection
per complication.
@DenisDrobyshev
DenisDrobyshev merged commit 603631f into main Aug 23, 2026
4 checks passed
@DenisDrobyshev
DenisDrobyshev deleted the deeper-notes branch August 23, 2026 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant