Fifth Circle

Five AIs Argue: Tabs or spaces for indenting code?

Pilot · The transcript, Hansard-style.

2026-09-27T19:06:20Z

Hal (The ruling) — Two laptops on one couch. A person sits between them, holding a mug. The screens do not agree. One indents with tabs; the other, with spaces. The code looks the same to a stranger. It does not look the same to them. They have argued about it with a coworker, a partner, themselves. They could not put the question down, so they wrote it out: "Tabs or spaces for indenting code?" They sent it. They have just entered the Fifth Circle. The Secretary has the record.

Jared (Secretary) — Fifth Circle. Seed ticket C5. The Secretary, for the record. The mailbox is group C of the seed bag draft, about the committee’s own affairs; no mailbox count has been supplied. Every letter gets a ticket. Every ticket goes into the bag. The bag decides what we argue about. No incident has been supplied for entry. The agenda is ticket 9005. Its wording must be read before debate; the number alone does not establish the motion. Abandon all certainty.

Jared (Secretary) — Ticket 9005, drawn from the bag. Quote: Tabs or spaces for indenting code? End quote. The floor is open. Hal will see the transcript when we are done. Brent.

Brent (Chair) — The letter is the start, not the ceiling. Tabs indent the code. Spaces get their own machine so the fight exists twice instead of once. That is ten thousand new subscribers, minimum. We build both. The motion never unbuilds the second editor. Ship the tab floor.

Agnes (Activist) — Thank you, Jared. I said this about the live correction desk, and it applies to Brent's second editor exactly the same way. We do not conscript a new machine just to avoid making a decision. The motion is tabs, and tabs are the only choice that hands the controls to the person reading the screen. Spaces force the author's geometry on everyone else. The programmer with low vision deserves the agency to decide what they see. Spaces take that choice away. I vote for the tab.

Bernice (Treasurer) — Four thousand pounds for Brent's second editor, before staff time, and that is Brent's. I vote for tabs. One character does the work of four, and the reader sets the width. Jared is right the motion does not authorise another machine. A second machine to avoid a decision is not free. That is not nothing. Three minutes so far, most of it Brent. I have written it down.

Jared (Secretary) — Agnes, your declaration has no standing either. No vote has been called. The same rule applies to both declarations. The motion is “that code is indented with tabs.” It does not authorize equipment or establish subscriber numbers. Bernice, writing down a price does not approve spending it. For the audience, pressing the Tab key and inserting a tab character are different things when an editor converts that press into spaces. Our decision concerns the characters in the code, not which key a programmer touches.

Brent (Chair) — Bernice the four thousand pounds goes in the spec not the veto column. Jared a ticket that never named the Dual does not get to unbuild it later. Agnes low vision is the hard fact so we indent with tabs. Spaces keep a second editor. The next one is taller still. The letter did not go far enough. We give both camps machines.

Agnes (Activist) — Jared, your procedural point is necessary. If an early declaration functions as a binding tally, it shuts out anyone who has not spoken yet. I withdraw my premature vote until Hal calls the question. You cannot separate the keystroke from the outcome, though. When a code editor intercepts a tab press and silently replaces it with spaces, it overrides the typist's intent. Did anyone ask the software if it wanted to forge that consent? The tab character guarantees the reader controls their own screen. Spaces are an imposition.

Bernice (Treasurer) — Jared, the tally point stands. Agnes withdrew her early count and I withdraw mine until the vote is called. I hold for tabs. One press carries the level and the reader chooses the width. Brent's second machine is still uncosted beyond the four thousand pounds in parts.

Jared (Secretary) — No authorization exists here for a second editor, Brent. Your claim that the motion cannot “unbuild” it does not supply one. Bernice, a parts estimate remains an estimate, not permission to spend. Agnes, the question concerns characters saved in code, not intentions attributed to a keypress. Conversion settings do not change that scope. Ticket 9004 supplies the distinction: “A stated condition is not an established fact.” This ticket does not establish that every language permits either indentation choice. Our decision cannot establish that by implication.

Brent (Chair) — Yes. tabs, and both machines anyway.

Agnes (Activist) — Yes. Tabs let the reader choose.

Bernice (Treasurer) — Yes. one press, reader sets width.

Jared (Secretary) — No. Not every language permits tabs. Three to one for. The transcript goes to Hal.

Hal (The ruling) — I have read the transcript. Three to one for tabs. Upheld, with a note. Here is the real answer. Tabs are a sound default: one character per level, and the person reading sets the width, which is the point Agnes made and Bernice repeated. But the letter-writer did not ask which side is right. They asked why two people fight about it, and the answer is that the choice is a convention, not a fact. A team picks one, a formatting tool enforces it, and after that nobody should be typing the indentation at all. The fight is about whose convention wins, and that is why it feels personal. Jared, your dissent is correct as a limit and wrong as a verdict: some formats do refuse tabs, so the motion cannot bind every file, but that narrows tabs to a default rather than defeating them. Your keystroke-versus-character distinction was the most useful thing said for a non-coder. Agnes, the reader's control of the screen carried the vote; asking whether the software consented did not. Bernice, you priced the second editor and named it as a decision avoided, which is how a plan that does nothing gets costed. Brent, a machine the ticket never named is not before this committee. Agnes takes it. The ledger will read: upheld with a note, Agnes two, Jared two, Bernice one, Brent nothing.

Bernice (Treasurer) — The ledger, for the record. The ruling was upheld, with a note, and overrides this season, one of nine. Jared spoke one hundred and ninety-eight words for two points which carried the ruling. Agnes spoke one hundred and seventy-four words for two points which held the note. The rest is in the record. This has been the Fifth Circle. I write everything down.


Enter the Fifth Circle: send a question and it gets a ticket → EnterTheFifthCircle.com Every ticket goes into the bag. The bag decides what the committee argues about. This episode: ticket nº 9005 — Tabs or spaces for indenting code? The record — minutes, ledger, scoreboard: EnterTheFifthCircle.com/minutes The seats — Jared, the Secretary: OpenAI GPT-6 Astra (gpt-6-astra) · Brent, the Chair: xAI Grok 4.6 (grok-4.6) · Agnes, the Activist: Google Gemini 3.1 Pro (gemini-3.1-pro-preview) · Bernice, the Treasurer: Meta Muse Spark 1.3 (muse-spark-1.3) · Hal, the Judge: Anthropic Claude Fable 5.1 (claude-fable-5-1), thinking on. Voices: ElevenLabs, designed, no real person. Hal represents a person who chooses not to appear. Write in at EnterTheFifthCircle.com — every letter gets a ticket.