Back to recaps

March 2026

SutroYaro is born, Yad's survey settles sparse parity with GF(2), and the metric shifts from ARD to data movement.

March turned a reading group into a working lab. Yad created SutroYaro on March 3, and by the end of the month it had a locked evaluation harness, an autonomous agent loop, a submission pipeline, a Telegram archive, and a settled answer to the first challenge. This recap is built from the repo changelog (v0.1.0 to v0.26.0), the first weekly catch-up, and the Telegram archive.

GF(2) settles sparse parity

Yad joined by sharing an agent-driven survey: 33 experiments across five families (algebraic, information-theoretic, local-learning, hardware-aware, alternative framings), each dispatched to a blind agent and written up in a shared DISCOVERIES.md (the "Practitioner's Field Guide," v0.9.0). The findings held up:

  • Algebraic methods win. GF(2) Gaussian elimination and Kushilevitz-Mansour influence estimation solve parity directly. Yaroslav reproduced the GF(2) result and adopted it, calling it "2000x less flops, 1000x less memory accesses and about 1000x faster than SGD" (March 9).
  • Local learning rules fail. Hebbian, predictive coding, equilibrium propagation, and target propagation all sit at chance, because parity has no low-order statistical signal (v0.6.0 to v0.9.0).
  • Parity is a search problem, not a learning problem (v0.8.0). A Fourier and Walsh-Hadamard solver runs about 13x faster than SGD on 20 samples.

Pushing SGD on speed

A second thread asked how fast gradient descent could go. Fixing hyperparameters (learning rate 0.5 down to 0.1, batch 1 up to 32) took 20-bit parity from a coin flip to 99% with clean grokking (v0.5.0). The speed sweep (v0.20.0) showed standard SGD floors around 70 to 116 ms and cannot reach the 10 ms target; Sign SGD hit 7.6 ms but solved only 3 of 5 seeds. Egalitarian Gradient Descent (v0.21.0) halved the grokking plateau, 14 epochs to 90% against SGD's 33, but ran 12% slower in wall time because the per-batch SVD outweighed the epoch savings. Seth Stafford's GrokFast study (PR #51, the first external contribution) and the GrokFast plus Curriculum follow-ups (#52, #53) mapped where each trick helps, compounding to an 8.3x speedup on n=50/k=3.

From ARD to data movement

The metric itself changed. ARD was a raw read and write count, too coarse to model locality. At Meeting #9 (March 16) Yaroslav switched the target to Data Movement Complexity (DMC, Ding et al. arXiv:2312.14441), which weights each access by the square root of its reuse distance, mapping to physical wire-length energy. The first DMC baseline sweep (v0.22.0, March 22) reordered the leaderboard: GF(2) wins on DMC even though KM wins on ARD, and a single-sample KM variant ("KM-min") took a new best of DMC 3,578, 58% below the GF(2) baseline, because parity influence is binary so one sample per bit suffices. Calls with Wesley Smith and Chen Ding pushed the metric toward byte-level granularity, and by March 31 Yaroslav had decided to focus there, the seed of April's ByteDMD.

What Yad built

Most of the durable infrastructure this month was Yad's:

  • RL evaluation environment (PR #49): the 33 experiments compiled into Gymnasium environments (SparseParity-v0, MultiChallenge-v0) with a 12-category, 72-point grading rubric and platform adapters (Anthropic tool-use, PrimeIntellect, HuggingFace, UK AISI Inspect). It is an answer key for whether an agent rediscovers GF(2) or notices local learning failing.
  • Agent infrastructure (PR #50): three hooks and four skills, plus two rules. One of the rules locks the harness so agents cannot edit the metric code.
  • The autonomous agent loop (v0.15.0): AGENT.md, a SHA-256-locked harness.py, bin/run-agent with a circuit breaker, and the peer-research protocol that let Seth and Andy contribute from their own Claude Code accounts.
  • Telegram to SQLite sync (issue #58): the bin/tg-sync tool that produced the archive this Almanac is written from.
  • The sparse-parity-challenge submission pipeline: paste a solve() function into a GitHub issue, and GitHub Actions scores it for accuracy and DMC, then records wall time. Live by March 30.

The repo also moved from Yad's personal account to the cybertronai org mid-month (v0.16.0) and was placed in the public domain.

Meetings and people

Meetings #8 (March 9) through #11 (prep March 31) ran weekly, with the first catch-up on March 22. Introductions brought in a research-heavy room: Yaroslav Bulatov (early Google Brain and OpenAI, creator of gradient checkpointing), Yad (program synthesis, applied ML and InfoSec), and Michael Keating (energy-tech founder, Scoot), plus Seth Stafford, Andy Zhang, Daria Soboleva, and Cosmin Negruseri. Lukas Kaiser and Alec Radford were both flagged as possible visitors to the March 30 meeting.

Reusable this period

  • Yad's agent-driven research loop: a shared memory file every agent reads first, blind parallel dispatch, and a locked harness so agents cannot edit the metric.
  • The GF(2) and KM-min baselines for sparse parity.
  • The survey and Field Guide ranking all 33 approaches.

What's next

  • Adopt byte-level DMD (ByteDMD) as the primary metric and freeze its definition with hardware feedback from Wes Smith and Bill Dally.
  • Backfill the scoreboard under the new metric.
  • Grow the submission pipeline beyond the first wave of contributors.

Sources