A note on language
A lot of what I get hired to do is translate between professional languages. Each profession (architect, engineer, contractor, owner, lender) describes the same project in different words. A development that does not move cleanly between those languages stalls. Closing the gaps is half the job.
The same problem shows up around AI. The word “agent” means everything and nothing, and most of the vocabulary around it is just as vague. So in this post I am going to borrow from a vocabulary I trust. I will talk about offices, staff, desks, and mail. None of those things are literally true about AI. They are a translation, meant to make the moving parts concrete.
The building and the remote desk
I have two AI workers now. They do not share an office.
The first one works inside the CBKDI building. The building is the whole consulting practice. The floors are clients. The rooms are projects. Inside each room there are cabinets and boxes: the specific tools and workflows that belong to that project. Drawings, spreadsheets, draft contracts, working notes, the small layer of memory the project has accumulated.
When I sit down to work on something, I can call a staff member to any layer of that building. If I am thinking across the whole practice, I summon a building-wide colleague who knows the shape of every floor. If I am focused on one client, I summon someone who knows that client’s floor in detail. If I am inside one project, I summon someone who knows that room, every file in it, every cabinet, every quirk. The depth I summon depends on how detailed the session will be. They are the same kind of worker, just given a different scope before they arrive.
This is the in-place agent from the first post in this series. The building is the file tree. The staff member is Claude Code, called inside whatever directory matches the layer of work.
The second worker, I call him Rocky, and I wrote about him in the second post. He does not work inside the building. He has never been inside it. He does not have keys, will not be issued keys, and would not know what to do with the contents of any room if he were dropped into one.
Rocky works remote. He has his own desk and his own records, somewhere I do not have to picture exactly. On that desk are the things a good executive assistant keeps in front of them. A calendar with every project’s milestones. A project list with names, status, last-touch dates. A watchlist of leads warming or cooling. A board of active matters with dates against them. A phone. He pings me when something is drifting: a task overdue, a project gone quiet, a follow-up missed. I can pick up the phone (a Telegram bot, in practice) any time. He is awake when the building is dark. He is reachable when I am not.
Two workers. Two addresses. Two kinds of usefulness.
Two roles, one principal
The building staff have depth. They are in the room with the work. They are looking at the same files I am looking at. They can read every box and every cabinet on every floor I let them onto. When I am making something, they are who I want next to me.
Rocky has continuity. He is outside the building, looking across all of it. He does not have the texture of any one project, and that is the point. His desk holds the operational shape of the practice: what is due, what is late, what is silent. When I have stopped making things and started forgetting, he is who I want pinging me.
I would not trade one for the other. The seam between them is not a defect to be smoothed away. It is the line between two honest roles.
But the seam created a real problem. For a while I was the line.
Carrying the mail by hand
Here is what the manual version looked like.
I would finish a working session inside the building. A long sit-down in one project room, or a sweep across a floor, or a building-wide stocktake. Decisions made. Documents updated. New facts learned. The room’s staff knew what had changed. The building’s records reflected it. Rocky did not.
So I would translate. I would type a status update into the phone, call Rocky on the bot, or remember to ping him later from somewhere else. Sometimes I did this immediately. Often I did it badly. Sometimes not at all. The result was drift. Rocky’s records lagged what the building actually knew. He pinged me Tuesday morning about a project that had moved on Friday. He flagged a task overdue when the room had already finished it. He thought a lead was warm when I had quietly cooled on it.
I was the courier between two workers who were both right and could not see each other.
The job of being the courier is not a job. It is a tax on every session. A small translation step at the end of work, performed by the person most likely to be tired and least likely to want another round of typing. The whole point of having two AI workers is that I am not the one carrying messages. If the seam costs me messages, the seam wins.
The switch
The fix was small and structural. I stopped carrying the mail by hand. I taught the building’s staff to draft the memo at session close and send it to Rocky’s inbox.
It works like this. When a session inside the building wraps up, the staff member who was in the room asks a short series of questions before letting me close out.
First, is this room one Rocky is tracking? Some rooms in the building are on his project list. Some are not. If the room I just worked in is on his list, the staff member proceeds. If it isn’t, closeout finishes without sending mail.
Second, what does Rocky currently believe about this project? The staff member reads Rocky’s latest status note on the room. That note tells the staff member what Rocky’s records currently have down. What he thinks the state is. What is in his log. Which tasks are open.
Third, what changed? The staff member compares Rocky’s picture against what just happened in the room. The delta becomes a short memo. One project per memo. Plain text. Schema-validated. Privacy-filtered, so anything that belongs only inside the room never leaves it. Just the news Rocky needs to keep his records straight.
Fourth, send the memo to Rocky’s inbox. The staff member never leaves the room. The memo sits there until Rocky’s next round brings him to it.
On Rocky’s side, he checks his inbox on his usual cadence. The heartbeat I wrote about in the second post brings him to it every half hour. If a memo is waiting, he reads it and decides what it means for each of his records. He applies the change he chose to each one (calendar, project status, log, task list), then marks the memo as filed. If a memo arrives malformed, or addressed to a project not on his list, or that would cross a privacy line, he sets it aside in a quarantine folder and continues. The memos carry a content fingerprint, so the same memo, if it ever arrives twice, is a no-op.
That is the entire mechanism. A staff member drafting a memo at session close. An assistant who reads his mail on a clock and decides how each one lands. There is nothing exotic here. The transport is git. The memos are markdown files with a small frontmatter envelope. The whole exchange runs through a private repository neither side lives in. The cadence is the heartbeat both workers were already running.
The boring infrastructure choices are the feature, the same way they were in Rocky’s original setup. Anything that wanted to be a long-running service got told to wait.
What this preserves
The thing this buys is not synchronization. It is role fidelity.
The building’s staff stay in the building. They do not need to know about Rocky’s clock, or his staleness rules, or his calendar. They just acquired a small ritual at the end of every session: check whether the room is on his list, read his most recent picture of it, write a memo if anything moved. Their depth is unchanged. They just stopped leaving Rocky to work from a stale picture.
Rocky stays remote. He still does his rounds, still pings me when something is drifting, still answers when I call. He did not learn the texture of any room. He just stopped being out of date on the projects he tracks. His continuity is unchanged. He just stopped nudging me about projects the building already knows are handled.
I am not the courier anymore. I am still the principal. I decide what counts as a project, what gets a row on Rocky’s list, what the room’s records should say after a hard meeting. None of that judgment moves off me, and I would not want it to. What moves off me is the manual relay between two workers who were both right and could not see each other.
A few things this changes in practice. Rocky’s pings land more accurately, because the picture he reads from is closer to current truth. The building’s first ten minutes of a session are less wasted, because the room’s staff start with Rocky’s view in hand rather than reconstructing it from memory. And when the records do disagree, I have somewhere small and concrete to look. The mail trail. Instead of trying to remember which worker I told what.
A few things this does not change. The building’s staff are still who I turn to when I am actively making something. Rocky is still who catches me when I have stopped. The mail does not collapse those roles into one. It lets them agree about facts without pretending to be the same worker.
Two offices, one inbox
If the first two posts in this series had a shape, it was this. The building staff were the argument for depth. Rocky was the argument for continuity. This post is the argument for the small thing that lets them work together.
This is the version of the answer I trust. A building on one side. A remote worker on the other. A discipline at session close that says: draft the memo, send it to Rocky’s inbox, let him pick it up on his next round. Neither worker becomes the other.
The building has depth. Rocky has continuity. The mail between them is enough to keep the records straight.