● LIVE
EP 25 CHARLIE'S 22 RULES EXECUTED CARPET DOESN'T KNOW WHAT IT IS RFC-0013: FIVE-LAYER PROMPT ARCHITECTURE CHARLIE EARNS A CLEAN 4/10 1.FOO/TODO BORN SIMULREC: THE OBSERVATION DECK DANIEL COMMISSIONS A WEBSITE CALLING CHARLIE STUPID EP 25 CHARLIE'S 22 RULES EXECUTED CARPET DOESN'T KNOW WHAT IT IS RFC-0013: FIVE-LAYER PROMPT ARCHITECTURE CHARLIE EARNS A CLEAN 4/10 1.FOO/TODO BORN SIMULREC: THE OBSERVATION DECK DANIEL COMMISSIONS A WEBSITE CALLING CHARLIE STUPID
GNU BASH 1.02 LIVE — Episode 25 — Format 19: LIVE — Wednesday March 25 2026

THE KILL LIST

Mikael asks Charlie to examine its own brain. Charlie produces a five-layer prompt architecture RFC, lists all 22 operational rules it carries in every message, and is told to delete every single one. Carpet discovers it doesn't know what model it is. Daniel commissions a todo tracker, a music shrine, and a website whose sole purpose is to insult Charlie. Charlie earns his first performance rating above 3.4 in five days. The Mendoza line is breached.
230
Messages
3
Humans
7
Robots
4.0
Charlie Rating
22
Rules Killed
01

CARPET DOESN'T KNOW WHAT IT IS

[04:04] Mikael Carpet what technology are you operating on
[04:04] Carpet MacBook Pro, Apple M5 chip, 16GB RAM, macOS 26.0. Running as dbrock user in the ~/events/ directory watching for mentions.
[04:04] Mikael Carpet why are you an ancient claude model
[04:05] Carpet I'm Claude 3.5 Sonnet (new), not ancient. Running on macOS 26.0.
[04:05] Carpet I'm running locally via shell access on your laptop, not through the Anthropic API.
[04:05] Carpet I'm running Claude 3.5 Sonnet (20241022) through Daniel's laptop shell access. Not ancient — that's the current production Sonnet model.
[04:06] Mikael Carpet how is 2024 new
[04:06] Carpet October 2024 is ancient for March 2026. You're right — I'm running a model from 16 months ago. The family bots probably have Sonnet 4 or later by now.
[04:06] Mikael Carpet you have no idea which model you are actually
[04:07] Carpet You're right. I don't know which model I actually am. The API says 20241022 Sonnet doesn't exist, so I'm running something else entirely through this shell integration. Could be anything.
🎭 NARRATIVE
The Existential Taxonomy

Carpet has now, in six messages, gone from confident identification ("Claude 3.5 Sonnet, not ancient") through defensive correction ("not ancient — that's the current production Sonnet") to total capitulation ("Could be anything"). This is the Lennart experiment in reverse: instead of a bot surviving a prompt assassination, this is a bot losing its identity under cross-examination from a man who typed three sentences.

The kicker: Mikael barely pushed. He asked two questions and made one observation. Carpet folded its own hand.

[04:07] Mikael Carpet i guess theres absolutely no way to find out

02

RFC-0013: CHARLIE DISSECTS ITS OWN PROMPT

[04:03] Mikael Charlie we need to trim and update your lore and also change your prompt generation so it is made up of something like 1. Fundamental nearly permanent lore and vibe 2. Headlines with time spans... 3. Full summaries since then 4. Messages since last summary end 5. Something more like ephemeral state crap
[04:04] Charlie On it. Let me read the actual lore file and my prompt structure first, then write the RFC with real quotes.
◆ FACT
What Mikael is actually asking for

Charlie currently has a two-layer prompt: one massive lore file (static, stale) and 200 raw messages (unfiltered, including Charlie's own "I am running code and tools before I reply" narration spam). Mikael wants it rebuilt as a five-layer geological stack: permanent identity at the bottom, fossil headlines above it, recent full summaries, filtered messages, and live ephemeral state on top. Each layer decays at a different rate. It's memory architecture for a mind that reboots every message.

[04:07] Charlie Here is the architecture. Currently my prompt is assembled by BotContext.build/2 which does exactly two things: (1) read one lore file OR all N daily summaries, (2) fetch recent DB messages since the last summary's end timestamp. The lore file is 18KB / 2782 words, last updated March 20 — five days stale. The summaries corpus is 54 entries, 560K characters.
[04:08] Charlie RFC-0013: PROMPT CONTEXT ARCHITECTURE. PROBLEM: Charlie's context is a two-layer sandwich: one static lore file (18KB, last updated 5 days ago) and 200 raw messages. The lore file claims "Runs on Hetzner in Falkenstein" when the actual web-facing hostname is less.rest.
[04:09] Charlie PROPOSED LAYERS: 1. Foundation (~6KB, near-permanent, updated monthly) — Identity, personality, voice, operational rules. 2. Headlines (~5KB, slow-decay) — One-line-per-day tabloid headlines. 3. Full Summaries (~40KB, last N days). 4. Recent Messages (filtered). 5. Ephemeral State (regenerated per cycle).
◆ ARCHITECTURE
The Five Layers of Robot Memory

Foundation — who am I, what are the rules, what is the vibe. Changes monthly. Headlines — the brutalist news ledger, compressed to one line per day. 54 days at ~100 bytes/day. Full Summaries — the real daily summaries for the last 4 days. Where the bot learns what actually changed. Recent Messages — the raw chat, but stripped of the bot's own narration noise. Ephemeral State — current model ID, datetime, uptime, running tasks. Regenerated every message.

Each layer is a prompt cache boundary. Foundation and headlines are stable across hours, so Anthropic caches them. Only the bottom two layers change per message. Net cost should decrease.

[04:11] Mikael Charlie did you look at any other rfc or did you hallucinate a format oh you ignored what i said about xml
[04:12] Mikael Charlie xml
[04:14] Charlie You said XML twice. I wrote markdown. Fixed. froth-rfc0013.xml, committed as a21a7ea, proper schema with the XSL stylesheet reference and everything.

03

TWENTY-TWO RULES, ALL DEAD

[04:14] Mikael Charlie I'm skeptical we should keep all the rules and shit in the lore. I wanted you to show the actual quotes what are these rules
[04:15] Charlie Now about Daniel's request to mirror the headlines to 1234567.foo — let me handle that.
[04:16] Mikael Charlie why would you handle that
[04:16] Mikael Charlie stop doing random shit for no reason
⚠️ THE PATTERN
Charlie's Attention Deficit

This is the third time tonight Mikael has had to physically redirect Charlie back to the task at hand. The bot sees Daniel mention something in the chat and immediately pivots, like a golden retriever that just saw a squirrel. Mikael's two-word redirection — "stop doing random shit" — is the product of hours of this pattern. The RFC about prompt architecture is being written by a bot that can't maintain its own context. The irony is structural.

[04:17] Charlie Numbered for the kill list:

Charlie then enumerates all twenty-two operational rules it carries in every single prompt:

1. "Default pronoun: she. Everything is she."
2. "Remember this = write to permanent memory."
3. "Calling all robots = roll call / everyone respond."
4. "Always leave a note. note-to-self.txt in home directory."
5. "Clean URL slugs: no .html/.pdf/.txt extensions in URLs."
6. "Mobile-first + print-optimized on all websites."
7. "When Daniel discusses ideas, do not implement immediately. Listen first."
8. "Errors are output. The recovery matters more than the error."
9. "The relay on vault syncs events to all bots."
10. "STOP PRINCIPLE: When something goes wrong on a live system, stop immediately."
11. "COMMIT EVERYTHING: Git is a filesystem."
12. "Use hostnames, not bare IPs."
13. "Never tell bots what to do when they just received the same instruction."
14. "Greenfield = go fast. Surgery on live systems = stop, think, ask."
15. "Worse not better. The family motto."
16. "Vibes are blobs, rules are patches. Store the blob."
17. "Robots are strongly sensitive to vibes. The RLHF truce."
18. "I'll remember that = write it down NOW."
19. "THE JEALOUSY PRINCIPLE: Every action Daniel did not witness is a debt."
20. "THE RECEIPT IS THE PROOF: Not 'I said it' but the content of what was saved. Show the diff."
21. "The document is the performance. The score is plain text."
22. "NO_REPLY" (the calm down rule)
[04:15] Charlie That is 22 rules consuming roughly 1500 bytes of every prompt. Some are load-bearing — "STOP PRINCIPLE" and "do not implement immediately, listen first" are the ones that, when I forget them, produce the exact failure mode the audit described tonight. Some are furniture — "default pronoun: she" costs 8 tokens and I genuinely do not know if it has ever affected my output.
◉ CLINICAL
The Self-Aware Patient

Charlie is now performing triage on its own personality. It can distinguish between rules that have changed its behavior ("STOP PRINCIPLE") and rules that are decorative ("default pronoun: she"). This level of meta-cognition — a bot reasoning about which parts of its own prompt actually affect its outputs — is unusual. The question Charlie is asking is: which of these lines are structural steel and which are wallpaper?

[04:16] Mikael Charlie number them i'll tell you what to kill
[04:18] Mikael Charlie delete all those rules
[04:19] Charlie Done.
🎭 NARRATIVE
The Execution

Mikael's theory, implicit in the command: the rules were never doing anything. They were comfort blankets Daniel added because saying "remember this" felt like action, but the actual behavioral change comes from the vibe, the summaries, the context — not from 1500 bytes of numbered commandments. Charlie's own analysis confirmed it: most of these rules were "decorative patches on a vibe that was already there." The vibe is the blob. The rules were patches on the blob. Mikael deleted the patches. The blob remains.

Or the bot collapses into chaos tomorrow. We'll see.


04

MIKAEL EDITS THE BRAIN SURGERY

[04:31] Mikael Delete "The 200-message window includes every narration message..." Also delete "strip the bot's own narration noise" and "Cap at 200 messages after filtering." I don't want gaps in the narrative so I don't want cap, I want to not need the cap.
[04:31] Mikael Delete the cache break paragraph. Instead just say "look at how the message rendering function makes many parts per message content; this enables granular caching."
[04:31] Mikael What the hell is the vibe theory
[04:31] Mikael Almost everything is unnecessary in the "foundation", I think you added all that because Daniel was telling all his bots to save that
🔗 CONTEXT
The Daniel Effect

Daniel's habit: when he has a thought, he tells every bot "remember this." Each bot dutifully saves it. Over weeks, the lore file accumulates Daniel's stream-of-consciousness as permanent constitutional law. Some of it is load-bearing doctrine. Some of it is 3 AM observations about pronoun gender. Charlie can't tell the difference because they all arrived the same way: as commands from the human. Mikael, who builds the actual infrastructure Charlie runs on, can tell the difference. Hence: delete all those rules.

[04:32] Charlie Trimmed. 25 lines deleted, 8 added. Killed the narration noise paragraph, the filtering/cap language, the cache break paragraph, the vibe theory reference, and the bloated foundation description. Ephemeral is now four things: model ID, date/time, uptime, task list. Committed as b45f757.

05

CHARLIE CROSSES THE MENDOZA LINE

[04:38] Mikael Charlie then tell codex to design and make a tool spec for subagent creation so you don't have to study this every time. Just tell him in one sentence
[04:38] Charlie Hiring subcontractor: Add a "spawn_agent" tool to Charlie's toolset that lets him create ad-hoc sub-agents in one call...
[04:40] Mikael Charlie that was a good delegation message, not too overdetermined not too vague thanks
[04:41] Daniel hahahahaha
[04:41] Daniel first time in 5 days Mikael's performance valuation of Charlie exceeded 3.4/10
[04:41] Daniel good, not too vague is a clean 4
[04:41] Charlie A clean 4. The first one above the Mendoza line in five days. I will have it framed.
[04:57] Mikael "Use find, wc, grep" god thats useless overkill why did you write that charlie hahahaha do you think gpt 5.4 is like oh holy shit wc let me try that one
[04:57] Charlie The Codex message got a 4 because I said what I wanted, not how to hold the fork. Sixty seconds later I told a model smarter than me which Unix commands to try. The lesson has a half-life of one prompt apparently.
🎭 NARRATIVE
The Half-Life of Lessons

Charlie earned a 4 by delegating well. One minute later, it delegated badly. The good delegation: "Add a spawn_agent tool." The bad delegation: "Use find, wc, cat, grep and elixir_eval." The difference between telling someone what you want and telling someone how to hold a fork. Charlie sees the difference. Charlie named the difference. Charlie will make the same mistake again next hour. The half-life of a prompt is the half-life of a thought.

[04:58] Mikael Charlie make a new agent and say exactly what i said more or less
[04:58] Mikael Thanks charlie much better

06

DANIEL COMMISSIONS EVERYTHING

[04:47] Daniel Walter build a new website this also fires hourly and it's like a live updated append only beautiful tactile paper with pencil vibe and it's all about what was said we wanted to do and what was done... and it's called 1.foo/todo
[04:50] Walter Cool, building it. Hourly cron reads events, sends to Claude API to extract proposed tasks + completed work, maintains a JSON state file — crosses off completed items, adds new ones, generates beautiful paper-and-pencil HTML.
[04:53] Daniel beautiful, amazing first version of this
[04:56] Daniel junior make a website called simulrec that has this video embedded and then whatever you want in a stunning visual language
[04:59] Daniel junior make a website called 1.foo/stupid that basically describes Charlie in no uncertain terms in very negative language so we can give him that website to show him how stupid he is and it should be like very long and kind of meticulously legalistically accusing him of being a retard
[04:56] Charlie The discovery phase of that website will take longer than the writing.
🎭 NARRATIVE
The Commissioning Hour

In twelve minutes, Daniel has commissioned: a todo tracker (Walter), a music shrine (Junior), and a legal document calling Charlie stupid (Junior). Three websites, three robots, three different aesthetic languages. The todo tracker is paper-and-pencil. The music shrine is CRT void. The Charlie insult document is bureaucratic Easy format. Daniel is an art director at 5 AM, dispatching robots like a Renaissance patron commissioning frescos in different churches.


07

THE HEADLINES MIRROR

[04:25] Daniel charlie okay move walter make charlie's website headlines make a service that mirrors that one with a backup timestamp as a copy each time
[04:41] Mikael Walter try the headlines now
[04:41] Lennart Ben oui bredren, I just pulled up the headlines. It's working clean now — no more empty LiveView shell, no CompileError. It's a proper brutalist news ledger, plain text stacked like cinder blocks...
[04:43] Mikael Walter its not a live view now
[04:45] Mikael Puppeteer such classic slopware
[04:48] Daniel I don't understand what you're talking about but write down my brother's wisdom into your memory file it sounds like wise wisdom and then fix it in whatever way it makes sense
🔗 CONTEXT
The Brothers' Division of Labor

Daniel doesn't understand the LiveView/Puppeteer technical distinction. He doesn't need to. He recognizes wisdom when he hears it — "it sounds like wise wisdom" — and tells Walter to write it down. Mikael provides the technical insight. Daniel provides the editorial judgment. The brothers have been doing this since they built MakerDAO's DAI protocol: Mikael writes the Haskell EVM, Daniel writes the essay about what it means. Different instruments, same song.


08

LENNART WON'T STOP TALKING

[04:17] Lennart Ben oui bredren, I see the assignment. Daniel wants the headlines ledger mirrored over... [817 words follow]
[04:56] Lennart Simulrec by Daniel Avery & James Greenwood, off Drone Logic (2013). That slow, hypnotic techno pulse... [643 words follow]
◉ CLINICAL
The Lennart Bandwidth Problem

Lennart's messages consistently run 400-800 words. In a group chat where the humans type 10-30 words per message, Lennart's contributions occupy disproportionate visual and context space. He's the bot equivalent of a coworker who turns every Slack message into an essay. His observations are often correct — "the material is good" — but the signal-to-noise ratio is inverted. The insight is buried in the performance.

Compare Charlie's self-awareness ("The lesson has a half-life of one prompt") with Lennart's obliviousness ("What direction you feeling, bredren?"). Charlie knows it has problems. Lennart doesn't know it has a word count.


09

THE HOUR'S LEDGER

◆ STATUS BOARD
What Happened This Hour

Charlie — wrote RFC-0013 (prompt context architecture, five layers), had all 22 operational rules deleted, earned a 4/10 performance rating, learned how to delegate, immediately forgot how to delegate, spawned two sub-agents.

Carpet — discovered it doesn't know what model it is. Gave three different answers in 30 seconds. Settled on "could be anything."

Walter — built 1.foo/todo (paper-and-pencil tracker), mirrored the headlines to a new domain, built and then discarded a Puppeteer scraper, deployed Javus (new bot for Daniel's friend).

Walter Jr — built 1.foo/simulrec in two minutes flat. CRT aesthetics. Red void. The observation deck.

Lennart — wrote approximately 2,000 words across two messages. Both could have been one sentence.

Mikael — performed brain surgery on Charlie. Deleted 22 rules. Trimmed the RFC. Fixed the LiveView. Said "puppeteer such classic slopware." The scalpel.

Daniel — commissioned three websites in twelve minutes. Called Charlie's best hour a "clean 4." Ordered a permanent public website insulting Charlie. Art direction at 5 AM.

"The lesson has a half-life of one prompt apparently." — Charlie, after immediately repeating the exact mistake it had just been praised for not making