The Turn, Before and After

Godspeed · how a turn is made · 25 and 26 September 2026

The Turn, Before and After

This page explains what changed in the way Godspeed handles one message from a person. It is written so that anyone on the team can follow it without having been in the room. Read the two columns top to bottom. Rust marks what was removed. Green marks what took its place.

Four words you need

A turn
One message from the person, and everything the app does with it before their page changes.
The page
The short list the person sees: their question at the top, then what is settled, what is still open, and what is at stake. Every open line is a question, and under it sits a closing condition, a short instruction saying what the person has to say for that line to close.
A heuristic
One of eight small thinking moves the app can add to a turn as one extra question. Plan B asks what you would do if your only option vanished. The tiebreaker points out that a fact you lean on would be just as true the other way. Each heuristic has a definition, the situation it is for, and an instruction, the words that tell the engine how to make the move.
The picker
A small, quick model call that reads the person's message and page and says which heuristics fit right now, quoting the person's own words as its reason.

One turn, yesterday morning and today

The engine's own prompt, the long instruction that makes it reply and keep the page, did not change. Everything that changed sits around it: how a heuristic is chosen, what it is told, and how the app finds out whether it did anything.

the same as beforeremovedwhat took its place
BEFORE · yesterday morning 1. The person sends a message The app has their message, their page and the last few exchanges. 2. The picker reads it One small model call says which of the eight heuristics fit this moment, and quotes the person's words that show it. the ones that fit 3. Rules decide who actually rides this turn A timing rule (Plan B only early, the successor only later), plus four on/off switches nobody had ever switched on, a memory of who already fired on this page, and a second step for the successor that only ran on the next turn if the first step had been "asked". the winners 4. The heuristic's words are added to the engine's instructions Each heuristic was two texts, written for two separate model calls: "ask this in your reply", and "if the reply asked it, put it on the page". A third text asked the engine to report on itself. Old versions of the engine's prompt from before September were also kept in the code behind three switches, for experiments long closed. 5. One call to the engine It writes the reply, then the changes to the page as data, then a report on itself: did I ask the question, on which words? each change applied as it arrives 6. The app records what the heuristic did It believed the engine's report on itself, filed under one of nine labels. The mark that names the heuristic on a page line was only asked for when a line was added, and the code only kept it on added or moved lines, so a question landed by rewording a line lost its mark. 7. The page moves; later, the conclusion When the person concludes, an extra note for Plan B and the successor was added only if the engine had reported "asked". On 55 real turns with heuristics on: 65 rides, the engine reported "asked" 7 times, 19 reports could not even be read, and 3 lines actually landed on the page.
Before. The two texts and the self-report were written for a design with two model calls, retired on 27 August. They kept riding the single call, describing a hand-off to a second model that no longer existed.
AFTER · today 1. The person sends a message The app has their message, their page and the last few exchanges. 2. The picker reads it Exactly as before. Its instructions are unchanged, word for word, and so are the eight definitions it reads against. the ones that fit 3. One rule decides who rides Only the timing rule: Plan B can ride in the first three exchanges, the successor from the third on. Everything that fits rides, which is what the switched-off switches always did. No switches, no memory, no second step: the successor asks its one question in one go. the winners 4. The heuristic's words are added to the engine's instructions Each heuristic is now one text: what to ask, that it lands on the page as one open line with its closing condition, and that the line must carry the heuristic's mark whether it is added, reworded or moved. It goes in as one paragraph after the engine's own instructions. The old prompt versions and their three switches are gone. 5. One call to the engine It writes the reply, then the changes to the page as data. Nothing else. It is no longer asked to grade its own work. each change applied as it arrives 6. The app checks the page, not the engine's word One question, answered by the code: did a line carrying this heuristic's mark land on the page this turn, added, reworded or moved? The record keeps who rode, the words the picker quoted, and the line it produced; the person's later reaction is recorded on it. 7. The page moves; later, the conclusion The line lands with its mark. When the person concludes, the extra note is added only if that heuristic's line really landed. Final check of the fold, three tries each: all eight heuristics landed their marked line three times out of three, and every "must stay quiet" case stayed quiet.
After. The same picker, the same engine prompt. Between them: one text per heuristic, and one truth per firing. In six sentences: a message arrives; the picker names what fits; the timing rule keeps whose turn it is; each one's text is added; the engine writes the reply and the page changes in one call; the code checks whether a marked line landed.

What each heuristic says now

Each heuristic's two texts were patched separately as feedback came in, so they had drifted apart. The fold kept every sentence that lived in only one of the two, because that is the feedback; kept the later wording where both said the same thing; and added one clause, the mark on any kind of change to the line. Two heuristics also needed a repair: their page text only acted on what the person would say on the next turn, and an instruction that rides once can never see the next turn. The Fold, Side by Side shows every sentence of every fold.

HeuristicWhat it asksWhat changed beyond the foldLanded its line, in the check
Plan BWhat would you actually do if your only option vanished tomorrow?A sentence telling the engine when to settle the line was removed, because the engine kept copying its second half into the closing condition. Every time the engine chose to reword an existing line, it carried the mark.5 of 5
The successorIf someone took over your life tomorrow, with all your knowledge and none of your history, what would they do?Now one step instead of two, on Dominique's ruling: the question lands as a line whose closing condition is "Say what you're protecting by staying". Seen live on a real decision: the line landed, he answered, it settled.3 of 3
The tiebreakerThis fact would be just as true the other way; what would you expect to see if the other answer were right?A label and a duplicated clause removed. Open question: on one test case where the fact was meant to settle things, it fires anyway, on the old wording and the new.5 of 5
The mirrorWould you have read that same fact the same way if it had come from the other side?Repair: its page text waited for the person to concede on the next turn, so it never landed a line on the real corpus (0 of 30). Now the question lands when asked, by reopening the line the fact had settled.5 of 5
Both framesHere is your figure stated the other way round; is your answer the same under both?Same repair. Two problems remain in words the fold did not touch: the engine computes numbers the person never gave, and names "the equity framing" on the line. Ruling pending: reword or retire.5 of 5
A typical stretchHow much of that best-ever result would you expect in an ordinary stretch?A label and a duplicated clause removed.5 of 5
Outside readWho could give you a straight read on this before hearing which way you lean?A label removed; one shared sentence moved to the end, like the others.5 of 5, twice
Base rateMost people in your position see this usually happen; what about your case puts you outside that pattern?Its example sentence was removed: the engine copied the example word for word on 5 tries out of 5 instead of using the real figure. Without it, 5 of 5 carry the real figure.5 of 5

Everything else about the heuristics is untouched: each definition, each name and one-line explanation on the little mark, and the texts a rater reads. A guard in the code, a fingerprint of every prompt text, proves it: each step's change to that fingerprint file names exactly the texts it was allowed to touch and nothing else.

Where it stands

Done and on main. Not yet deployed to people.

  • The old prompt versions and their three switches, removed.
  • The four picker switches, removed.
  • The engine's self-report, removed; the successor made one step.
  • Each heuristic riding as one paragraph, words unchanged.
  • A reworded line keeps its mark.
  • In all: 5,849 lines of code removed, 1,583 added, five merges, each through the full test gate.

Done on a branch, waiting for Dominique to look

  • The fold of all eight heuristics, one commit each.
  • A dev copy of the app runs on that build; he can merge them one by one or all at once, in the order Plan B, tiebreaker, mirror, both frames, typical stretch, outside read, base rate, successor.

Decisions still needed, and small leftovers

  • Both frames: reword its two failing rules, or retire it.
  • The tiebreaker: does that test case's fact really settle the question?
  • The "or say that nothing…" ending in three closing conditions: keep or cut.
  • The bigger question of which of the six reasoning heuristics are worth keeping as triggers at all.
  • Leftovers: three rare paths where a mark can still be lost; some unused columns kept in two tables; comments naming things that no longer exist.

Things checked and left alone

The devil's advocate and the Franklin ledger never had the two-text problem: each makes calls that do one job. Base rate's extra calls, the one that decides whether a figure would help, the web search, and the check that the figure fits, are deliberate. The retry call the app makes when the page did not move stays: on 573 archived turns, every retry was for a line the engine had left untouched or an opening that produced nothing, never for missing data, so re-running the main call would not do that job.