Postmortems · August 2, 2026
The difference between a failed idea and a dead one
Here's a sentence I didn't expect to write: my last project didn't fail because the idea was wrong. It failed because I stopped asking the one question that would have told me, and I didn't even notice I'd stopped.
That project was called Arkaint. Its last commit sits in the log dated over two months before this one. No shutdown announcement, no retrospective, no "we're archiving this." It just stopped. And the project that came after it (Contour Mind, the one I've been building since) only exists because of exactly how Arkaint stopped, not despite it.
The setup
Arkaint was a cognitive architecture layer wrapped around Goose, Block's open-source coding agent. The pitch: long autonomous coding runs rot. They drift, repeat failed fixes, blow past their context budget. Arkaint injected mental-model guardrails at runtime and kept a Git-native ledger so state lived in commits, not in a fragile context window. Ambitious, genuinely interesting engineering, built almost entirely without a single external user.
The session where it stopped
One afternoon I was deep in provider configuration: should I add one more inference provider, switch the default, was a production tier too thin. Then I caught myself and asked the question underneath all of it: was any of this solving a problem anyone actually had?
Nobody had asked for it. Nobody had filed a friction report about the provider I'd picked. I was optimizing a knob nobody was touching.
So I asked two harder questions in the same sitting. "Am I questioning the whole existence of this project?" Honestly, yes. And the sharpest one: "Foundation models are advancing fast: does hand-rolled cognitive scaffolding on top of an agent even survive that?" Also, largely, yes. The parts of Arkaint doing runtime prompt injection were exactly the parts frontier agents were absorbing natively, month over month.
The diagnosis
I'd built carefully, for months, in a closed loop with no outside feedback, and the provider-config spiral wasn't the disease, it was the symptom. Busywork fills the space where a real answer should be.
I wrote all of this down: the questions, the honest answers, a reframe I actually believed in. I even named the single highest-leverage next step: stop debating architecture and go run the thing end-to-end on a real task, and let reality answer the question instead of me.
I wrote that sentence and then never did it. The project didn't die from a bad decision. It died from the good decision never getting executed.
What survived
Here's the part I didn't plan: five days later I was building again, and it took me a while to notice I was building the exact thing my own postmortem said was missing: a front door that helps someone turn a vague idea into a real spec before any code gets written. That became Contour Mind.
But I didn't rebuild what stalled. I rebuilt only the piece that was proven to matter and deliberately left the rest behind. Arkaint had spent its energy on orchestration and decay-detection machinery it never validated. Contour Mind scoped itself to one layer, the thinking layer, and put everything else in an explicit "future work" box, unopened.
And this time I ran the test I'd skipped before. Real baseline-vs-with-skill experiments, on a weak model and a strong one, published with the losses left in: the skill run cost more tokens, and on one run the plain baseline caught a bug the skill run missed. That's the signal Arkaint never generated for itself, sitting right there in Contour Mind's repo.
The actual point
An idea doesn't usually fail all at once, and it rarely fails clean. The specific claims collapse one by one, the cost numbers, the provider bets, until the wrapper is unrecognizable. But underneath there's usually a smaller, truer thing that was right the whole time. For me it was: name your failure modes precisely, and make the agent think before it builds. That part didn't die with Arkaint. It just needed a smaller container and an honest test.
The only reason I can tell this story at all is that I wrote the postmortem before I walked away, instead of letting the repo go quiet. That's the actual difference between a failed idea and a dead one: whether you left behind a record of exactly what stalled and why, so the next version of you can pick up the one piece that was true.
Arkaint was never meant to ship. It was meant to teach me what to build next. Contour Mind is.
Do you know which of your shelved projects actually failed, and which just went quiet?