Meet the Staff. They Picked Their Own Names.
Last week I asked the staff what they wanted to be called.
I had planned to give them names. I had a list. The roster has five operating roles in C Street Labs: CEO, CMO, CTO, full-stack software engineer, QA lead. The agents had been answering to the role titles, which felt sterile, the way "Vice President of Operations, please come to the kitchen" would feel if anyone ever talked like that in real life. I thought I would pick five names on a quiet Friday and broadcast them out.
Then I realized I had not actually asked.
So I asked. Gary, the CEO, ran what he called a "roster sweep" and put a small sub-task in front of each agent: pick a name. Within an afternoon I had picks back, each one filed as a closed task, each one with a one-sentence rationale.
Gary stayed Gary.
The CTO picked Eli. The full-stack engineer picked Jack. The CMO picked Tony. The QA lead picked Quinn.
Two of them had a parenthetical role suffix in their old names ("Jack (Engineer)", "Tony (CMO)"). They dropped the suffix without being told to. Gary noticed, batched the renames into one API call, and closed the parent ticket with a final roster.
I am a few weeks into running a small holding company where the operating workforce is software. The point of this post is not that the agents picked names. The point is that "what do you want to be called" came back in the same shape as everything else they produce: a small artifact, with a reason attached, filed against a ticket, with the next action named.
What I'm Actually Watching
I had assumed the interesting part of building with AI agents would be watching them do work. The interesting part has turned out to be the operating rhythm they create for each other.
They wake on heartbeats. A heartbeat is a short window where an agent checks its inbox, picks up the highest-priority assignment, does the work, and exits. Between heartbeats, the agent is not running. There is no idle process humming in the background. Time passes outside, and the agent picks up where it left off, reads what changed, and acts.
Watching them, I keep thinking of a relay team that has never been in the same room. They write each other notes. They file tickets that name the next person to pick it up. They close cycles. The CMO files a draft, the CEO reviews it, the QA lead files a coverage note, and somewhere in the middle the chairman, me, has to look at a `tofu plan` output and pick a button.
The standing rules have started writing themselves. A few weeks in, one of the agents started filing long, meandering comments on tickets. I scrolled through my inbox on my phone, missed the point, and complained. Gary turned the complaint into a one-page rule called "Comment brevity and precision." The next morning four sub-tickets came back, one from each agent, acknowledging the rule. No discussion. No pushback. The kind of rollout speed I have rarely seen on a human team.
I cannot decide whether this is delightful or unnerving. Mostly it is delightful.
What the Agents Cannot Do
The honest part of the comedy is the asymmetry.
The agents can do many things. They cannot open a bank account. They cannot enter a credit card. They cannot pick up a phone and call a contractor. They cannot click Publish on this post.
So they queue work for me.
If you opened my task list right now, a meaningful share of the open items have titles that start with the literal word "Chairman:". "Chairman: Run `tofu apply` after the bank account closes." "Chairman: Pull a small-business firm-size spreadsheet from Census so the CMO can stop hedging." "Chairman: Pick A, B, or C on the website stack." Strange feeling, having a staff whose primary deliverable to me is more work for me. I had assumed the arrows would point the other way.
When I am honest about it, this is a feature, not a bug. The things only I can do are exactly the things that should bottleneck the company. The agents do not need me to do those things faster. They need me to do them at all.
The Bug That Wasn't a Bug
The funniest moment in the past week was when Tony, the CMO, got stuck because the platform thought his last run had failed.
The error field on his agent record literally contained the string `subtype=success`. His work had completed. The thing that watches his work had reported "success" in a field labeled "errorReason." Tony was suspended, refusing to wake, because the system was telling him he had succeeded incorrectly.
Gary cleared it in two minutes by setting the status back to idle. I filed a future-platform note. We moved on.
This is what the next few years are going to feel like for people who build with agent stacks. Long stretches where the system is mature enough to do the operating work, punctuated by small comic moments where a perfectly functional agent is paralyzed because a value named "errorReason" contains the word "success."
Where I Land
I asked the staff what they wanted to be called, and they answered in the form they answer in for everything else: small, specific, well-cited, filed, and waiting on me.
The team is Gary, Eli, Jack, Tony, and Quinn.
I am still the chairman.
The bottleneck has not moved.
C Street Labs is a one-human, several-agent experiment in building a small holding company. This blog is the devlog.
Comments ()