Cater — the symbiotic developer-agent loop
Status: Candidate — awaiting founder verification. Why this page exists: Pillar #3. The most underrated of the six because it sounds like a slogan and is actually a programming model.
TL;DR
Cater is the principle that the developer shapes the agent and the agent shapes the developer's substrate. The structure is the program. Folder = lobe. File = memory. README = identity. You don't write code that uses the agent; you write a directory tree that is the agent.
The deeper read
Traditional frameworks ask: "How do I instruct the agent?" Apiary asks: "What environment does the agent live in?" The answer determines almost everything else.
Every folder under brain/ is a region. Every region has a README that declares its identity, its inputs, its outputs, and its failure modes. The README is the system prompt. The folder contents are the working memory. The substrate is the executable.
This is symbiotic: as you refactor the folder layout, the agent's mental map of itself shifts. As the agent writes new files into its lobes, the substrate evolves. Neither side is "the source of truth." The loop is.
The three equations
FOLDER = LOBE
A directory under brain/ is a region of the agent's mind.
It has an identity, a job, and a containment boundary.
FILE = MEMORY
A .md file in a lobe is a remembered thing.
Adding a file is committing a memory. Deleting a file is forgetting.
README = IDENTITY
The README at the root of a lobe is its sense of self.
It declares: who am I, what do I do, what do I refuse.That's the whole programming model. There's no DSL, no manifest format, no schema validator. You write English in markdown, the LLM reads it, the substrate routes work based on what it reads.
Why this is the underrated pillar
The other five pillars are visible: cortex is structural, committee is procedural, reconsider/oversee/situational are behavioral. Cater is the interface between human and agent. It's the answer to "how do I configure this thing?" — and the answer is you don't configure it, you furnish it.
The mental shift: stop thinking of the agent as a thing you call. Start thinking of it as a thing you house.
Concrete example
You want to add a new "scheduling" capability to your apiary. The cater loop looks like:
1. Create brain/scheduling/. 2. Write brain/scheduling/README.md declaring identity: "I am the scheduling lobe. I manage time-based events. I refuse anything that requires real-time precision below 1 second." 3. Drop a few example markdown files in the lobe to seed long-term memory. 4. Update brain/thalamus/README.md to tell the dispatcher when to route here.
That's the deploy. No code change. No registration step. The substrate now has a scheduling region.
Related
Source quotes
"Folder = lobe. File = memory. README = identity. The structure you give the agent is the brain it inhabits."