Notebook

Rendered, never generated

Eloist now mails people a short video about their own chess games, narrated by a coach who does not exist. Four days from first commit to thirty-five inboxes. Here is how it works, and what it refuses to do.

ONE EPISODE, STATION BY STATIONINK IS RENDERED FROM THE GAME RECORD. BRASS IS GENERATED, AND THERE ARE ONLY TWO.A FAILED CHECK ENDS THE JOB. NOTHING SHIPS.PICKFETCHSCRIPTGATEFRAMESCLOCKSVOICESYNCAUDITRENDERUPLOADCHECKLETTERREFUTE EVERY CLAIM,ONE REPAIR ROUNDCAPTIONS TIMED AGAINSTTHE SPOKEN WORDSEVERY VIDEO CONFIRMED IN STORAGEBEFORE ANY LETTER GOES OUTTHE BOARD PICTURES ARE DRAWN BY ELOIST'S OWN CODE FROM THE GAME RECORD. NO VIDEO MODEL EVER DRAWS A POSITION.

The episode runs about two minutes. A board plays through your real games, real clocks ticking, while Viktor, a club coach we made up, tells you where each game turned. It lands in your inbox as a letter with one link.

The whole thing is four days old. Day one produced a silent clip from one real game. Day four had a queue, a worker, and thirty-five letters out. One rule from the design doc drove every choice in between.

Anything factual is rendered, never generated.
ONE EPISODE, STATION BY STATIONINK IS RENDERED FROM THE GAME RECORD. BRASS IS GENERATED, AND THERE ARE ONLY TWO.A FAILED CHECK ENDS THE JOB. NOTHING SHIPS.PICKFETCHSCRIPTGATEFRAMESCLOCKSVOICESYNCAUDITRENDERUPLOADCHECKLETTERREFUTE EVERY CLAIM,ONE REPAIR ROUNDCAPTIONS TIMED AGAINSTTHE SPOKEN WORDSEVERY VIDEO CONFIRMED IN STORAGEBEFORE ANY LETTER GOES OUTTHE BOARD PICTURES ARE DRAWN BY ELOIST'S OWN CODE FROM THE GAME RECORD. NO VIDEO MODEL EVER DRAWS A POSITION.
One episode, start to finish. The ink stations compute from the game record. The two brass stations are the only places a model makes something up. The diamonds are checks, and a failed check ends the job.

The models get two jobs

No video model ever draws a chess position. Eloist's own code draws the board, one picture per move, straight from the game record. The clocks come from the record too.

The models do two things. One writes Viktor's script. Another reads it aloud. Everything else is arithmetic over a game you actually played.

Four checks, each one fatal

Every check ends the job. Nothing ships around the problem. A coach who gets your own game wrong costs more trust than a missing episode.

  • Show the work. The script must name the exact move it calls your worst. The code replays the game and looks. Wrong move, dead job.
  • Attack the script. A second model tries to disprove every chess claim against the real game, under orders to assume the worst. One repair is allowed. A second failure, dead job.
  • Watch the clock. The code times each caption against the spoken words. More than two seconds of drift, dead job.
  • Try the door. Before any letter goes out, the code confirms every video actually sits in storage. One missing file stops the whole mailing.
the attack step's orders, verbatim
You are an adversarial chess-accuracy reviewer. Try to REFUTE
every chess claim in the script against the packet.
Default to refute when uncertain.

The attack step has killed eleven scripts so far. One claimed a player sat at even material with a mate in two on the board. The game showed neither. That script died, and no reader ever saw it.

The picture waits for the voice

THE MOVE Qxe6, SAID OUT LOUDQXE6 → QUEEN, TAKES, E6THE BOARD, FRAME BY FRAMEONE POSITION, HELDTHE NARRATION, WORD BY WORDYOURKNIGHTWASSAFEUNTILQUEENTAKESE6,ANDTHEGAMETURNSEACH WORD CARRIES ITS OWN TIMESTAMP. THE PICTURE WAITS FOR THE WORDS, NEVER THE OTHER WAY AROUND.
The blunder becomes words, the code finds them in the narration, and the board holds until they land.

Most video tools bend the voice to fit the picture. This one does the opposite. The code turns the blunder into the words a person would say, queen takes e6, finds the exact moment Viktor says them, and holds the board there while he does. The cut belongs to the voice.

The score so far

ONE WORKER LOG, AS OF 2026-08-25T15:15Z. RETRIES COUNTED.SHIPPED, LETTER SENT35KILLED FOR A FALSE CLAIM11RETURNED NOTHING USABLE5FAILURES OF OUR OWN INFRASTRUCTURE ARE LEFT OUT. THEY SAY NOTHING ABOUT THE METHOD.
What happened to the scripts the model wrote. Failures of our own infrastructure are left out; they say nothing about the method.

Everyone building with models fears the model lying. It lied eleven times in three days. The checks caught all eleven, and not one reached an inbox. That is the whole argument for checks that kill the job: the reader never finds out how often the coach was wrong.

What nobody knows yet

  • What an episode costs. Four numbers live in four files, from a cent and a half to twenty cents. None is a measurement, because the cost logging that would settle it does not exist yet.
  • Whether people like it. The votes sit in a database this post has not read.
  • The weekly episode, the real product, cannot run. Nothing schedules it yet.
  • The pipeline runs on one machine, because one line of code points at a folder that exists nowhere else.

That is a fair ledger for something four days old. The checks shipped before the features did. Keep that order.

Addendum: the ledger, one day later

The list above stays as written, because it was true when written. A day of real production paid three of its four entries down. Each one again, with a measurement where the blank used to be.

  • What an episode costs: seventeen cents, measured. Eight cents for the script, seven for the model that attacks it, a cent and a half for the voice, half a cent for the word timings. The frames and the render run on our own code and add nothing.
  • Whether people like it: the votes are read. Eleven people voted, and all eleven chose more of this, please. The opt-out button went unpressed. Twelve further taps asked for specific things, longer episodes and blunder breakdowns ahead of the rest, and 26 percent of the letters drew a same-day click.
  • The weekly episode runs itself. A queue and a ten-minute check now catch every account with a fresh analysable game. The first episode no human touched went from queue to inbox on the morning of 25 August.
  • One machine still runs the worker, so that entry stays open. The honest change: the pipeline is now a queue plus a stateless worker, which makes a second machine configuration rather than engineering. Until someone does the configuring, the count is one.

Around 120 episodes have now gone out. The timing check has earned its keep once already: a stale cache produced a cut 14.7 seconds adrift of its spoken words, and the check refused the build. The rule holds every chapter card to under two seconds of drift, and in practice the card lands about half a second before the words that name it.