Colophon · How this site is made
What is automated here, and what is not
Parts of this site update themselves. Parts of it are decisions I made and would have to defend. Those are not the same kind of claim, so this page separates them and tells you how to check either one.
A portfolio can now be generated in an afternoon, which means polish no longer distinguishes anyone. What does not automate is judgment: deciding what to measure, what a result fails to establish, and when evidence is too weak to act on.
So the rule I apply to this site is the same one I apply to evaluation work — automate the collection, never the conclusion, and make every claim checkable by someone who does not trust me.
01 / The ledger
Surface by surface
For each part of the site: what runs on its own, what I decided, and how you can verify it without taking my word for anything.
/reading/
AutomatedCandidate papers are pulled weekly from the Hugging Face papers API, scored against per-track keywords with domain anchors and negative penalties, then ranked. All titles, authors, dates and abstracts are fetched, never typed by hand.
JudgedWhich four tracks exist, which papers are foundational, and the Establishes / Doesn’t settle note on each one. Discovered papers carry no note, so the two layers stay visibly distinct.
Check itRead scripts/fetch_papers.py for the exact scoring, or papers.json for the raw output.
/explorer/
AutomatedNothing is precomputed. Every interval, effect estimate and rollout recommendation is calculated in your browser from the inputs you set.
JudgedWhich three layers of evidence matter, the decision rule that combines them, and the explicit list of what the model ignores — clustering, multiplicity, novelty effects, non-random ring assignment, construct validity.
Check itMove the sliders until it disagrees with you. The same procedures are implemented and unit-tested in agent-evaluation-playbook.
playbook
AutomatedUnit tests and an end-to-end demo run on Python 3.11, 3.12 and 3.13 on every push. The badge in that README reflects the real result, including when it fails.
JudgedThat offline, online and rollout evidence answer different questions and should not be collapsed into a single score.
Check itClone it and run two commands. No dependencies, no install, no network access. The README states the exact output you should see.
this site
AutomatedEvery push is checked for malformed HTML, duplicate element IDs, and internal links that no longer resolve. A second check asserts that every curated paper still carries its editorial notes, so the annotated shelf cannot quietly decay into fetched abstracts.
JudgedAll prose, including this sentence. Written and revised rather than generated once and left alone.
Check itBoth checks are standard-library Python and run the same way here as in CI: python scripts/check_site.py and python scripts/check_reading.py. Their run history is public. A check that cannot fail proves nothing, so both were tested against deliberately broken input before being trusted.
02 / Reasoning
Why the boundary sits there
The same argument applies to evaluating an agent and to publishing a portfolio: an automated process is good at producing candidates and bad at deciding what they mean.
- Coverage is cheap; selection is not. A feed listing everything recent proves only that a script ran. Five papers with a stated reason for each is a claim somebody can argue with.
- A negative statement carries more information than a positive one. Saying what a paper establishes is mostly summary. Saying what it fails to settle requires having decided which limitation actually matters.
- Verifiability beats assertion. “I know how to run experiments” cannot be falsified. A page that computes a confidence interval in front of you, backed by a repository with passing tests, can be checked — and can be shown wrong.
03 / Limits
What this site does not demonstrate
Worth stating plainly, because a portfolio that claims everything is evidence of nothing.
- Everything here uses synthetic or public data. None of it reflects any internal system, metric, threshold or result.
- The explorer models one simplified decision. Real analysis deals with clustered and repeated observations, many simultaneous metrics, seasonality and novelty effects, and rings that were never randomly assigned.
- Reading widely is not the same as having reproduced any of it. The notes describe what each paper reports; they are not independent replications.
- Passing tests show code does what its author intended. They say nothing about whether the intent was correct — which is the part that actually needs review.
04 / Build
Construction
Static HTML with no framework, no build step and no analytics. A single shared stylesheet holds the palette and typography; there are no third-party fonts and no trackers. The reading data is one JSON file regenerated by a scheduled job. Hosted on GitHub Pages from the site repository, which is public, so every claim on this page can be read as source. The only requests this page makes to anywhere else are the two status badges below, which are served by GitHub.
These badges are the live result of the most recent run, not a screenshot. If a check starts failing, this page says so before I do.