← Back to Blog
Building in Public

When Friends Sharpen Your Chisels: On Advice That Removes Friction

christian crumlish•
A robot receiving sharpened tools from a friend, outside advice reducing the friction of the work ahead.
“This should help!”

When Friends Sharpen Your Chisels: On Advice That Removes Friction

November 28–30

The week after Thanksgiving is supposed to be quiet. You digest the turkey, you digest the year, you ease back into work. This year, the digestion was more interesting than expected.

I spent Black Friday not shopping but synthesizing. The previous week had been extraordinary — fifteen simultaneous AI sessions, a complete security epic, our first alpha tester arriving, then a sudden pivot into UX vision work that produced eight architectural decisions in forty-four minutes. My Chief Architect and Chief of Staff were both trying to make sense of what had happened, producing summaries and roadmaps and pattern analyses. I was doing the same thing, just more slowly, with coffee.

The synthesis revealed a three-act structure to the week: execution excellence (the security sprint), alpha launch (Michelle arriving), vision pivot (the UX work). Clean arcs are suspicious — they usually mean you’re editing reality to fit a story. But this one held up. The week really had moved through those phases, each preparing for the next.

The security script that detected itself

Friday morning brought a minor comedy. Our security detection script — Shai-Hulud, named for the sandworms — had flagged sixty potential issues in the codebase. Alarming, until my SecOps agent investigated and discovered the script was mostly detecting its own test patterns. Ninety-five percent false positive rate. The worm was eating itself.

This is the kind of thing that happens when you build detection systems. They find what they’re looking for, including the examples you created to test whether they’d find what they’re looking for. The fix was simple: replace the script, not the codebase. But it was a good reminder that tools have blind spots, especially about themselves.

Building the coordination queue

Saturday was infrastructure day. We’d been running multi-agent workflows through direct coordination — I’d hand prompts to agents, track their work, manage handoffs manually. This worked but didn’t scale. The agents themselves had suggested a self-service model: a queue of prompts they could claim and complete without waiting for me.

The Chief Architect designed it in the morning. A Code Assistant built it at noon. By afternoon, three pilot prompts were running — and at one point, two agents were working in parallel, claiming different prompts, completing work simultaneously without stepping on each other.

This sounds mundane, but it wasn’t. We’d validated that the coordination system worked. Agents could see what needed doing, claim work, complete it, and the manifest updated to reflect reality. No conflicts. No confusion. The system got out of the way and let the work happen.

The evening brought the predictable crisis. Production was in a broken state — branch discipline issues had let bugs slip through. My Lead Developer spent hours tracking down the problem, eventually resetting to a known-good commit from earlier in the week. Then, just before midnight, I discovered while alpha testing that the authentication middleware had never been registered. The cookies were being sent but never read.

Thirty minutes of debugging. One line added. Deploy. Midnight fix complete.

This is how production works. You build carefully, you test systematically, and something still breaks at 11 PM on a Saturday. The coordination queue had worked beautifully all day. Then the actual codebase reminded us that infrastructure elegance doesn’t prevent implementation bugs.

When the advisors responded

Sunday was quieter. Production deployment in the morning — twenty-one commits merged, the authentication fix included. Some documentation updates to smooth alpha testing friction. Routine work.

Then the advisor mailboxes delivered.

I’d set up asynchronous communication channels with two external advisors: Ted Nadeau, a senior architect and friend I’ve known for years, and Sam Zimmerman, a friend I met volunteering for a nonprofit effort addressing the Covid pandemic who is now a member of the technical staff at Anthropic. (A while back I’d asked Sam for his frank opinion of my ethical infrastructure.) Both had received materials about the project. Both had responded over the holiday weekend.

Ted’s response included an architecture proposal. He’d been thinking about how agents should process different types of content — code, documentation, conversations, images. He proposed a “micro-format” processing pipeline with eleven specialized format types, each handled by small focused agents.

Here’s what stopped me: his eleven proposed micro-formats mapped rather neatly to our Entity/Moment/Place grammar.

He didn’t know that grammar. I hadn’t shared it. He’d derived a compatible structure from first principles, looking at the same problem from a different angle. His “formats” were our “entities experiencing moments.” His processing pipeline was our consciousness model.

Independent validation from someone who wasn’t trying to validate anything. He was just thinking clearly about the problem and arrived at the same structure we’d discovered through hand sketches and object model debates.

Sam’s response was different but equally clarifying. I’d been developing an elaborate multi-agent ethical architecture — a “board” of agents that would collectively establish ethical boundaries through consensus. Sam’s feedback was characteristically direct: build ethics from sustained relationship, not committee consensus.

His three-layer model: inviolate boundaries that never change, an adaptation mechanism that responds to context, and an ethical style that emerges from the relationship itself. The boundaries protect. The adaptation serves. The style develops over time as the relationship deepens.

This reframed everything. I’d been building organizational structure where Sam was describing something more like friendship — shared history creating shared understanding, not rules creating compliance. The ethical architecture shouldn’t be a governance system. It should be a relationship.

What convergence means

Two advisors, working independently, both validated directions I’d been uncertain about. Ted confirmed the object model grammar. Sam confirmed the relationship-first approach. Neither was responding to requests for validation — they were just thinking about the problems and reaching compatible conclusions.

This is what external minds provide that internal reflection cannot. You can convince yourself of anything if you’re the only one looking. But when someone else, with different experience and different assumptions, arrives at the same place — that’s evidence of a different kind.

The coordination queue worked on Saturday because we built good infrastructure. The advisor mailboxes worked on Sunday because we built good relationships. Both are infrastructure, really. Systems that let work happen. One routes prompts to agents. The other routes perspectives to decisions.

I’d spent the week after Thanksgiving digesting an extraordinary development sprint. But the real nutrition came from outside — from advisors who took the project seriously enough to think carefully and respond honestly.

That’s the thing about building in public, with advisors, with alpha testers, with external eyes. You’re not just getting feedback. You’re getting reality checks that your own perspective can’t provide. The project feels less like something I’m building and more like something I’m discovering, with help from people who see differently than I do.

The holiday weekend ended with more clarity than it started. Not because I’d figured things out, but because other people had confirmed that the things I’d tentatively figured out weren’t crazy. Sometimes that’s all you need to keep going.

← Back to BlogAlso available on Medium