Bring Me a Rock
There's a management story everyone in software has either lived or watched. A manager asks for something — a design, a plan, a logo, a rock — without saying what would make it right. You bring one back. No, not that one. You bring another. No. You iterate blindly toward a target that exists only in their head and is revealed only through rejection. The phrase for it is "bring me a rock," and it is a slur. It names a manager who substitutes serial rejection for the work of saying what they want, and makes you pay for their unfinished thinking one rock at a time.
I want to argue something uncomfortable: under conditions that now exist, "bring me a rock" stops being a slur and becomes a defensible way to work. Not because the manager got better. Because three of the things that made it a slur have quietly gone away.
Why it was a slur
It's worth being precise about why it was bad, because the reasons turn out to be separable, and only some of them survive.
It was bad because it externalized the cost of one person's indecision onto another person's time. Every rejected rock was a day of someone's life spent on a target they were forbidden to see. That's the moral core — not that iteration happened, but that the iterator paid for it and the requester didn't.
It was bad because it scaled horribly. In a real organization the loop compounds: you misunderstand, you wait in a queue, you hand off, the manager is in meetings for three days before rejecting. The round-trip is the killer, and it's why "bring me a rock" is poison on a team of twenty.
And it was bad because it spent a resource that wasn't the manager's to spend: your patience. "Give me criteria or I stop" is a legitimate boundary. The manager who leaned on "bring me a rock" was exploiting the fact that you couldn't, in practice, refuse the eleventh iteration.
Three failures: imposed cost, latency, exploited patience. Hold them separately, because the interesting thing is what happens to each one.
What changed
The reflex is to say this gets fixed by shrinking to a team of one — collapse the requester and the iterator into the same person and there's no one to impose on. But that's not the interesting case, and it's not the one I'm in. The interesting case is a team of peers — think co-founders who've hired a development team, except the development team is an LLM — and what fixes the three failures there isn't that the team is small. It's that nobody in the loop can run the pattern downhill.
Because that's what the original slur actually was: "bring me a rock" ran downhill, from someone with the power to impose to someone with the obligation to absorb. Flatten that, and watch the three failures go out one at a time — not because the team shrank, but because the asymmetry is gone.
The imposed cost is gone, because there's no one to impose it on. Peers exploring together aren't externalizing one person's indecision onto a subordinate; they're sharing the exploration as equals, and the agent doing the building isn't paying in time and dignity at all. There is no one being demeaned by the eleventh "no."
The latency is gone, because peers in a tight loop with an agent aren't handing work across an org chart. No queue, no three-day wait for the meeting where the rock gets rejected. The round-trip that made the pattern poison at scale is measured in minutes.
And the exploited patience is gone, because no one's patience is being spent against their will. The human peers aren't drawing down a subordinate's goodwill, because there's no subordinate. The agent doesn't tire, doesn't resent the rework, has no boundary you're crossing by asking for the twelfth rock. The resource the old manager was quietly stealing simply isn't on the table.
Strip out imposed cost, latency, and exploited patience, and what's left of "bring me a rock" is just this: a group of equals refining toward a target they're discovering by elimination. And that, stated without the baggage, is not a pathology. It's how a great deal of exploratory work has always been done. The photographer shoots a thousand frames for one. The writer drafts to find out what they think. And — closest to the case I mean — a startup pivots, and pivots again, rejecting whole directions not because the founders are too lazy to specify but because the target genuinely isn't knowable until you've built toward it and watched it fail. Startups change course constantly and mostly fail anyway. The serial rejection isn't the dysfunction; it's the method the search space demands. Seeing several directions fail — and several perspectives on why, the agent's included — is how the real target gets found, if it gets found at all.
What was actually wrong with "bring me a rock" was never the iterating. It was running an exploratory method downhill through an expensive human medium, where the cost of each rejected rock landed on someone who hadn't chosen to pay it. Among peers, with a tireless builder, both halves of that change: the medium gets cheap, and no one's absorbing a cost they didn't choose. The method was always fine. The arrangement around it was the problem. The arrangement is what changed.
The part I can't cleanly resolve
Here's where I stop being sure, and where I'd rather hand you the problem than pretend I've solved it.
There are two very different things that look identical from the outside. One is a person with a real preference they can't yet articulate — they genuinely know it when they see it, and cheap iteration is how they find the words for what was already there. The other is a person with no preference at all, who uses serial rejection as a substitute for the thinking they never did. From across the table, both just say no, not that one.
When iteration was expensive, the cost told them apart. The person with no real preference couldn't afford to wander forever; the expense forced a decision, or forced them to admit they didn't have one. Cheap iteration removes that forcing function. You can now reject a thousand rocks for free and call it discernment. The infinitely patient agent will let you wander infinitely — and infinite wandering is not convergence, it just looks like it for a while.
So the honest version of my claim has a fork in it. Cheap iteration rehabilitates "bring me a rock" when there's a real oracle in your head being discovered. And it makes the pattern more dangerous when there isn't, because it removes the one signal — cost — that used to expose the absence. The thing that separates valid exploration from expensive dithering is no longer visible in the behavior. Both are just rejection, repeated, cheaply.
I have a partial answer from my own work, and I don't fully trust it. When I build this way, the implementation collapses to minutes but the decision still takes hours — sketching alternatives, probing whether a metaphor generalizes, working out what a choice means three steps downstream. The hours of deciding are, I think, the tell: that's the oracle being formed, not avoided. The cheap implementation is just the verification that the thinking was right. So maybe the test is whether the cost moved or vanished — whether you relocated the work to the decision or simply stopped doing it. But I can't be certain, from the inside, that my hours of deliberation are forming a real preference rather than elaborately disguising that I don't have one. The dithering and the discernment feel the same while you're in them.
And the peer framing, which is the one I actually believe, makes this harder rather than easier — because now the recognition has to be not just real but shared. A team of equals exploring by elimination has no built-in arbiter; flattening the hierarchy is exactly what removed the person who used to get to say "this one, we're done." So the fork doubles. It's no longer only "is the recognition behind this rejection real, or is it avoidance." It's also "is it shared, or are we each rejecting rocks for incompatible reasons and calling the collision iteration." Startups that pivot well seem to have some common sense of what would count as right even before they can name it. Startups that fail often fail because the founders never had that, and cheap iteration let them not notice for a year. The thing that used to force the question — the expense of building the wrong rock — is the thing that went away.
The agent sits inside this question in a way I haven't worked out. It's a participant whose judgment is real in some directions — it'll catch a constraint the humans missed, propose a rock nobody asked for that turns out to be the right one — and absent in others, because it has no stake in what the thing is ultimately for. So when I say the perspectives include the agent's, I mean something I can't yet make precise: it's a peer in contribution and not, obviously, in stake, and I don't know how much of "peer" survives that. I'm leaving that one open on purpose.
That's as far as I've gotten. A dysfunction inverts into a method when you take it out from under the hierarchy that made it run downhill — when peers explore together with a tireless builder and no one absorbs a cost they didn't choose. But the rehabilitation holds only while the recognition behind the rejection is real and shared, and I don't have a clean way to check either from the inside, because the cost that used to check both is exactly what went away. If you've found a way to tell — real recognition from cheap avoidance, shared conviction from collided preferences, or how much of a peer an agent without stake actually is — I'd genuinely like to know it. That's the part I came here without.