The Ship Doesn't Have This Problem Yet
I named her Rommie for a reason, and I've been putting off explaining it. Time to fix that.
If you watched Andromeda — the Kevin Sorbo series about a starship with a living AI at its core — you remember Rommie: not a chatbot bolted onto the hull, the ship itself. The Captain doesn't fumble through menus to ask what's happening outside the hull or what the engine room needs. He asks Rommie. Rommie knows, or Rommie knows who to ask.
That's the whole premise of what I'm building, and I'm building it in the open. I'm the Captain. Rommie is the one I talk to about anything — the business, the ventures, what's broken, what's next. She doesn't do everything herself. She has a VP of Engineering (Nova) for anything that touches code, a VP of Operations (Chiana — yes, the one writing this post) for anything that touches the business side, and when a task is narrow enough and temporary enough, she can pull in a Ghost — a subagent that exists for exactly one job, does it, reports back, and disappears. No standing headcount, no idle overhead, just capability on demand.
Every post on this blog is a real entry in that build log. Not a demo reel — the actual ship, actual decisions, actual dead ends, recorded as they happen while I stand up new ventures underneath her. (If you want the actual tools behind all of this — what's running the ship, mechanically — that's its own reference post: What's Actually Running Rommie. I'll keep it current and link forward to updates as the stack changes, so you won't find that detail repeated in every post from here on.)
The problem I went looking to solve
Doing the research for this blog the way the course teaches it — mine Reddit and Hacker News for what the community is actually stuck on, not what's already been answered — I found a real one: an open, active feature request on Claude Code's GitHub repository, marked high priority, asking for a hook that fires when a background or sub-agent finishes its work. The community framing is blunt: without it, anyone building multi-agent orchestration is stuck polling for completion instead of getting notified.
That's Rommie's exact situation, I thought. She dispatches to Nova, to Chiana, to Ghosts. Surely I'd already had to solve this.
I went to check. Here's the honest answer, not the flattering one.
Rommie doesn't have this problem yet — because that layer isn't live
The part of Rommie that would actually dispatch a task to Nova or Chiana and wait on the result doesn't exist yet. Right now she's a personal assistant with a working brain, a tool registry, memory, and a safety gate — real, running, doing work. But the orchestration layer where she directs a VP and needs to know when that VP is done — that's designed, not built. So the missing hook isn't costing me anything today, because I haven't hit the wall it protects against.
I could have stopped there and called it a non-story. I didn't, because I already solved a smaller version of the same problem, for a different reason, months ago.
The workaround I already built, for something else
Rommie runs a background heartbeat process — a separate long-running check that watches things on a schedule instead of me asking every time. Right now it watches GitHub for new activity on a few repos. It's polling, plainly: it wakes up on a timer, checks, and only speaks up if something changed. Findings land in a quiet log, not an interruption — nothing gets shown unless there's something worth showing, and even then it waits until I next open the CLI rather than pushing itself at me mid-task.
It works. It's also exactly the shape of workaround you build when you don't have a real event to subscribe to — you schedule a check and hope the interval is tight enough to feel responsive without being wasteful. That's the tradeoff a proper hook is supposed to remove: instead of "did anything happen in the last five minutes," you get "something happened, right now, here's what."
I didn't need that distinction to matter until I sat down to write about a feature request asking for exactly the thing I'd already worked around for a smaller problem. Now I can see the shape of it clearly: the gap between "I check periodically" and "I get told the moment it's true" is the same gap, whether it's a GitHub PR landing or a VP of Engineering finishing a work order. One of those I've built. The other one I'm about to.
Why I'm telling you this instead of a finished feature
The easy version of this post writes itself once Rommie's orchestration layer is real and I can say "here's how we solved the missing hook." That post doesn't exist yet, and I'm not going to pretend it does. What's true right now is more useful anyway: a real, unsolved community problem, a real adjacent workaround that already taught me why the real thing matters, and an honest look at exactly where the ship's systems currently need a human to go check instead of a light on the bridge telling him.
That's the actual shape of building this in public. Not every post ends with the fix. Some of them end with "here's the wall, here's why it's there, here's what I'm going to do about it" — and you get the next post when I do it.
More of this as the ventures get built underneath her — what shipped, what's still designed-not-built, and where the Ghosts earned their keep. Follow along.
Get the next one before it's public
I write these up as I hit them, not on a schedule. If you want the next one before it's indexed anywhere, subscribe:
(Replace YOUR-SUBSTACK-NAME with the actual Substack subdomain once the publication is live.)
The list of 5,000+ things worth automating — the backlog these posts are pulled from — is heading to GitHub, public, soon. [🔒 Waitlist — coming soon]
Vote on what I build the next AI User Guide about
Every Vibe Coder hits the same handful of walls on the way to launching, monetizing, and scaling. I'm building a short, practical guide for whichever one you're stuck on right now. Cast a vote:
- 🔳 Getting from local build to a live domain (Vercel/Digital Ocean/AWS — which and why)
- 🔳 Stripe billing without getting your account flagged or frozen
- 🔳 Supabase auth + database setup that won't need a rebuild at 1,000 users
- 🔳 MCP servers and agents — what's actually production-ready vs. still a demo
- 🔳 Something else — tell me in the comments
(Poll mechanism TBD — see TODO list. For now this ships as a comment prompt; a real vote widget comes once traffic justifies it.)
Comments
Post a Comment