The Final Sprint
It’s Wednesday morning. The train horn blares, as it always does, at 4:40 am, stirring me from a light sleep. I check a few messages from bed before I roll out and begin checking in on my agents over my morning flat white. Looks like they’ve completed another work batch. We stopped calling them sprints because the nomenclature was associated with weeks-long human work loops. Iterations that no longer exist. This all happened without ceremony, and I remember the exact moment it set in.
Two weeks ago, I was contacted by a colleague who had been tinkering with a trading idea. It was an impressive concept, but it was grossly over-engineered inside one of the popular vibe coding platforms. He had hit the glass ceiling many vibe coders bump into. Just good enough for a demo, not good enough to scale. I landed in a group chat with my colleague and another engineer. We’ll call him Flynn.
“We have three months, or we’ll lose the term sheet. Flynn will walk you through the details.”
The call was quite typical. Historical context, some jokes about vibe coding and the tech debt it produces, and light discussion surrounding architecture. Flynn showed me his proposed workflow. Plan deeply in a shared Obsidian Vault, load tasks into Linear, execute with agent harnesses. He showed me his Paperclip setup, which was incredibly detailed and complex. I was impressed, and I learned a lot. He had already started some of the planning, so he gave me access to the files, and I dug in.
After about a week of iteration, Flynn asked me to take on the product owner role, so I took point on scheduling milestones, phases, epics, and sprints. But the timelines were unreasonably long considering the proposed workflow. Two-week sprints no longer fit the framework. Work batches, then. I assigned tasks according to the documentation. Flynn would take on the brunt of the first milestone; I would hop in during the latter two-thirds.
It felt good to work one-on-one with another senior engineer again. It had been a while. The workflow was dialed. The plan was sound, and we were ready to start ripping PRs.
I woke up Monday to find that the first milestone was already more than halfway complete. With a renewed sense of urgency, I sprang into action. I pulled down the repo and set up my local environment. Knocked out a few tasks with Claude Code based on the spec we had in Obsidian. Looks good. Time to commit, push, and open a PR.
Why can I not push? Probably an SSH thing, let me switch to HTTPS.
Nope. What’s going on?
A quick check of the repo shows I have read-only access. That’s odd, probably a mistake on Flynn’s part. I’ll just reach out and request access. It’s late; a Telegram message will do. He’ll ping me back in the morning.
In the meantime, I’m starting to worry that I missed something in my conversations with Flynn. I roll back through our meeting transcripts. I have Claude Cowork do a review. I know Flynn mentioned leveraging Paperclip for his tasks. Surely he didn’t mean for all of the work to be done this way. Did he?
Tuesday morning, we hop on a Google Meet. We’re discussing revisions to the planning docs to unblock some issues the agents discovered. Conflicts between decisions and design. When we’re through the bulk of the process and have our answers, I bring up the lack of repository access again. This was the moment.
I express my desire to get some tasks knocked out, acknowledging that milestone one is nearing completion, and there are plenty of unblocked tasks I can get my hands dirty with. Flynn clarifies that all the work is to be done by the Paperclip agents.
“Sorry if that wasn’t your expectation; I know it’s a new way of working.”
I brush it off. It’s just a new way of working. No big deal. But my eyes are welling up, and I’m choking back the reality of what’s occurring. I’m a bird in an open cage who can’t fly away. We’ve designed a mechanism that wrests control of the entire skill set I’ve spent more than a decade honing. And it works really fucking well. It works so well that I’m annoyed by its efficiency. The ease with which it makes me unnecessary.
I close the call.
Back to today. Forty-eight hours from Monday. Train blaring. I open the Vault. Six new files since yesterday. I start reading.

