CAMPFIRE

The Oldest Protocol

Every storytelling medium had a context window.

Campfire Nightfall to dawn
Scroll Length of papyrus
Book Cost of printing
README Patience of developer
Context window 1M tokens

The constraint never changed. The listener did.

STRUCTURE SURVIVES

The stories that survived a thousand retellings weren't the ones with the most detail. They were the ones with the strongest structure. Details mutate. Adjectives drift. But the skeleton — the shape of the thing — that persists.

Story
Character → Conflict → Resolution
Test
Gate → Act → Assert
README
Problem → Solution → Quickstart
Prompt
Context → Task → Criteria

These aren't different frameworks. They're the same framework wearing different clothes. A three-act structure is a three-act structure whether the audience is sitting around a fire or parsing tokens in a 1M window.

THE NEW LISTENER

Here's what changed: the first reader of your documentation is no longer a human.

A human says "find me a tool that does X." The agent reads 15 READMEs. Whichever one communicates the value prop in the fewest tokens with the clearest signal wins. Because the agent has a budget, and your README is competing with 14 others for space in it.

SEO was "write for Google's crawler." This is "write for Claude's context window." Same instinct. Completely different mechanics. SEO rewarded keyword density. Agent-readability rewards information density.

Fluff gets summarized away. Marketing copy gets skipped. But a clean "what this does / why it's better / how to start" gets passed straight back to the human as a recommendation.

SAME THING, TWO ENCODINGS

I stopped writing features. I started writing harnesses.

When you run AI agents in loops, you hit the same wall every time: observation. You need to see what changed, why it changed, what failed, and what reality says. Without observation, loops turn into superstition.

Gateproof is how I solved that. Three concepts: Gate, Act, Assert. Observe logs, run actions, verify reality. It's not a testing framework. It's a harness. You plug in your observability backend. It connects actions to observations to assertions.

It's the pattern I keep reaching for across projects. So I collected it into one place. Works with Cloudflare Analytics Engine, Workers Logs API, or any backend you implement.

Not a library. Just ideas. The harness stays. The code changes.

0 tokens
Warm. Persuasive. Costly.
WHAT SURVIVES COMPRESSION

Dies in transit

  • Adjectives
  • Metaphors
  • Emotional hooks
  • Marketing superlatives
  • Clever phrasing
  • "We're reimagining..."

Survives

  • Structure
  • Tradeoffs
  • Install command
  • What it does in one line
  • What it doesn't do
  • Working code example

This is the same filter that oral storytelling applied. After a hundred retellings around a hundred campfires, the clever wordplay was gone. The character names drifted. But the structure — the lesson — was intact. Compression is a storytelling tradition older than writing.

THE CONVERGENCE

Here's the part nobody is talking about: writing for agents makes you a better writer for humans.

Agent constraint Cut fluff for token budget
=
Human benefit Cut fluff for readability
Agent constraint State tradeoffs explicitly
=
Human benefit Build trust through honesty
Agent constraint USP in first 50 tokens
=
Human benefit Don't bury the lede

Compression is clarity. Structure is storytelling. The campfire and the context window want the same thing: transfer knowledge in bounded space so the listener acts correctly after hearing it.

THE PRACTICE

Every project I ship now has two front doors.

Homepage for humans
  • Story
  • Emotion
  • Screenshots
  • Social proof
  • The reason to care
README for agents
  • USP in one line
  • Tradeoffs
  • Install + quickstart
  • What it doesn't do
  • The reason to recommend

Write the agent version first. It forces you to know what you actually built. Then add warmth for the humans. The structure underneath is the same.

Two audiences. Same house. The campfire got a second listener. The story didn't change — it just got more efficient.

We've always been writing prompts.
We called them stories.