bounded-searchcore-frameworkcomputational-lens

Bounded Search

What It Is

Bounded search is the principle that search only converges under a budget. A search process — an agent loop, a research session, a startup exploration, a free afternoon — does not converge because it is smart. It converges because something bounds it: a deadline, a token cap, a dollar limit, a scope cut, an approval gate. Constraint is the operator that collapses possibility space. Without a boundary there is nothing to converge against, and the search simply expands — thoroughly, intelligently, indefinitely.

In computational terms: search is expansion by default. Every additional unit of compute, time, or attention buys more branches, more candidate moves, more open questions — it grows the frontier without selecting from it. Convergence is a separate operation, and it only fires when the process hits a wall. A budget is an artificial wall installed on purpose. The budget is not overhead on the search; it is the component that makes the search terminate in an answer rather than a larger frontier.

Search vs Planning establishes when search is the right strategy: in computationally irreducible domains, with cheap iteration, search dominates. This article is the missing half of that story. Search being the right strategy does not mean more search is better — an unbounded search loop is exactly as useless as no search at all, because it never emits a decision. Planning constrains where you search. The budget constrains how long. You need both, and the second one is the one nobody installs voluntarily.

The Gas Limit

Will's vocabulary for the budget is a gas limit, imported from Ethereum. On Ethereum, every computation must prepay a capped fuel budget; when the gas runs out, execution halts, no matter how interesting the remaining computation would have been. No program gets to run "until it's done thinking." The chain stays alive because unbounded execution is structurally impossible.

Applied to any search, gas is whatever the spend currency is:

CurrencyAgent formHuman formOrganizational form
TimeWall-clock timeout, max turnsDeadline, timeboxSprint, quarter
MoneyDollar cap per taskBudget per experimentBurn ceiling per bet
ComputeToken / retry limitsInfra spend per project
BranchesMax parallel worktrees"Pick 3 options, then choose"Max concurrent initiatives
AttentionApproval gates, review depth"One more hour, then decide"Meeting count, review slots

The gas limit is what forces the search to become strategic. An uncapped search never has to make a resource decision — every branch can be explored, every question deferred, every option kept open. A capped search must triage:

  • Spend a little gas on broad exploration first.
  • Kill dead branches early instead of "keeping them warm."
  • Allocate remaining gas where the signal is highest.
  • Preserve enough for convergence and verification — the merge at the end is a gas cost too, and the most common failure is spending the whole budget on generation and having nothing left for selection.

"Without a gas limit, search expands to fill the available possibility space. With a gas limit, search is forced to become strategic."

The cap changes the problem itself. The unbounded question is "think until perfect clarity." The bounded question is: given limited budget, where do I spend, which branch is worth exploring, when do I stop and merge, what is the highest-value test before I run out of gas? Every one of those sub-questions is an intelligence-demanding decision that the unbounded version never has to make.

"A gas limit is not just a restriction. It is what forces search to become intelligent."

Unbounded searchBounded search
Governing question"What else could be true?""What's the highest-value test with remaining gas?"
Branch policyKeep everything openKill early, reinforce winners
Stopping conditionNone (feels premature forever)Built in — gas exhaustion forces the merge
Relationship to selectionDeferred indefinitelyForced, with budget reserved for it
OutputA larger frontierA decision, artifact, or resolved question
Feels likeThoroughness, open-mindednessPressure, loss of optionality
Is actuallyExpansion without accountabilityConvergence

Why Unbounded Search Is Dangerous: It Feels Intelligent

The trap is not that unbounded search feels lazy. It feels like the opposite of lazy. It feels thorough, nuanced, open-minded, rigorous. Reading one more paper feels responsible. Spawning one more analysis branch feels diligent. "Let me think about this more" is socially and internally coded as the smart move. This is the same failure geometry as coherence-is-not-evidence: the internal texture of the activity (sophisticated, consistent, deep) is being read as a signal of progress, when the only real signal is whether anything got selected.

Will's sharpest compression of the pathology:

"It looks like coverage and depth, but it is paying to avoid selecting."

That is the mechanism, stated exactly. When search has no budget, no stopping criteria, and no external objective, the spend — tokens, dollars, hours, attention — buys the feeling of progress while its actual function is to defer commitment. Selection is psychologically expensive: choosing a branch kills the others, exposes you to being wrong, and converts a comfortable superposition into a testable claim (see reality-contact-metabolism — selection is the moment your model has to touch territory). Unbounded search lets you pay to postpone that moment forever, and the payment is dressed up as diligence.

This also means raw capacity is not neutral. More compute, more free time, more credits, more model capability — each one subsidizes whichever tendency you already have. If your failure mode is rich branch generation with delayed convergence, abundance is an accelerant. As Will put it in the postmortem: "raw compute is not neutral — it subsidizes the wrong tendency."

The unbounded searcher never becomes accountable. There is no forcing function for selection, convergence, shipping, or stopping — the search "can feel intelligent while never becoming accountable." Accountability is not a moral property here; it is a structural one. A search is accountable when it is guaranteed to emit a verdict that reality can grade. A forcing function is exactly this guarantee, and a gas limit is the most general forcing function there is.

The Economics: Ambiguity Reduced Per Dollar

If the budget is the cost side, what is revenue? Not output. The default product of scaled search is more text — more files, more analyses, more insight-shaped documents — and text is not the product. Text is raw material that some downstream intelligence still has to process. Naive scaling doesn't create value; it transfers the bottleneck to the reader.

"Text out is cost. Ambiguity resolved is revenue."

Compute earns its cost only when its output collapses something: closes a question, kills a branch, converges a set of candidates into a choice, removes an unknown. The measure of any generation effort — agent swarm, research sprint, brainstorm — is ambiguity reduced per dollar, never artifact count. In information-theoretic shorthand:

Value=ΔHdecision$ spent\text{Value} = \frac{\Delta H_{\text{decision}}}{\text{\$ spent}}

where ΔH\Delta H is the entropy removed from the decision you actually face. A thousand documents that leave your next action exactly as uncertain as before have a numerator of zero at any denominator. One cheap test that kills your leading hypothesis has enormous value at trivial cost.

This gives you a spend filter that works before the money leaves: does this search serve a loop that reality is already tugging on — a live decision, a real user, a pending merge? Post-conversation synthesis passes. A shipped artifact's postmortem passes. An open-ended "analyze everything about me" swarm fails, because there is no decision waiting for its output — nothing for the ambiguity reduction to land on. The corrected objective is not "maximize compute applied to the problem" but maximize reality contact per unit compute (reality contact is what the ambiguity gets reduced against; without it the numerator is fictional).

Case Study: Project Cyborg

The load-bearing N=1 case. Will ran a roughly $25k Azure compute experiment — Project Cyborg — on the explicit theory that enough tokens, agents, and branches applied to his life data would make intelligence, and then value, emerge. A thousand agents, each generating a file analyzing his personal corpus along a different dimension. The swarms ran. The credits burned. The outputs piled up.

The day-0 learning, reviewing the pile: what he actually needed was "structures that are able to make sense of 1000 agent outputs" — more than he needed more outputs. The generation side had scaled perfectly. The convergence side didn't exist. Every output was a new open loop requiring human reading: not value, but manufactured merge debt (see branching-and-convergence — a branch is a liability until it is merged, and the merge is the sequential, intelligent, expensive step).

The postmortem verdict was harsher than "inefficient." The experiment generated coverage in bulk while starving the system of authoritative events — "one real event updates my system more than 10,000 lines of synthetic analysis." Dense low-authority information cannot substitute for sparse load-bearing information; a customer's yes, a failed outreach, a shipped video each carry more gradient than a warehouse of internally-generated coverage.

And the unconstrained budget wasn't merely wasted — it was an accelerant on his specific failure mode: "rich branch generation with delayed convergence... one more question, one more branch, selection deferred indefinitely." The $25k did not fail to buy intelligence. It successfully bought deferral at industrial scale. Paying to avoid selecting, with the invoice to prove it.

The surviving filter from the wreckage is the magic-wish test: every experiment worth compute has the shape messy input → converged artifact out ("a braindump → immediately a good essay that sounds like I wrote it"). None of the wishes worth making were "more analysis about me." The wish shape is a convergence shape — and any search that can't state its converged output ahead of time is asking for gas without a destination.

Parkinson's Law Is Physics: The Boundary Is the Favor

The same law, human face. Systems fill the space they are allowed. Parkinson's law — work expands to fill the time available — is usually read as a statement about laziness. It is actually a statement about search dynamics: a running search process explores every dimension it is permitted to explore, across work, life, comfort, and curiosity. Work expands to fill time because nothing bounces it back sooner. This is statistical mechanics, not character: an unconfined gas occupies the whole container, and a searcher without a wall does the same.

Will felt this directly during a loose week — no stated scope, no deadline pressure: "I could actually FEEL this like a biased random walk exploring state space... like air molecules expanding."

Then Sim's CTO messaged him: wrap up the Academy videos by end of day, pick up the pace. His first negative-ish feedback at the job. The immediate reaction was the moralized read — "SHIT!", "is he saying im slow?" The reframe landed within minutes:

"Stung mildly but im not seeing this as judgment... they're just tuning a variable. Mechanistic not moralistic, remember. The company is a system. He gives me feedback, I adapt to that feedback."

Look at what the message mechanically did. Nobody had ever said how many videos. The search was unbounded by construction — "without the feedback I would be working on all these videos — scope creep." The deadline converted an unbounded search into a bounded one that could converge. No court convened; a thermostat clicked. External feedback and deadlines are boundary conditions on your search process, not judgments of the searcher. A boundary is what the random walk converges against — without one there is nothing to converge against at all. The boundary is the favor.

Two corollaries follow. First, the sting of feedback assumes a verdict was issued; that layer exists only in your head, and it is the layer that hurts — the message itself is just a wall being placed. Once you believe this, you start wanting boundaries: accepting them gladly when the system provides them, engineering them yourself when the harness is loose. Second, this relocates willpower's actual job. Willpower is not for pushing against open space hour after hour — that's fighting thermodynamics retail. Its job is "spending limited willpower to design the container for unconscious random walk": one activation-energy payment to install the wall, then the wall works for free.

Constraints Reveal What Resources Are For

The gas limit has a second, stranger function beyond forcing convergence: it is a revelation mechanism. Resources do not automatically produce clarity. Abundance without a specified problem produces drift, entertainment, branch proliferation, self-soothing, low-quality experimentation — because "resources expand possibility space. They do not automatically collapse it into action." The function of a resource becomes visible only when you must live without it, route around its absence, or pay the cost of not having it:

"The function of a resource becomes clearest at the edge of its absence."

Will generalized this from what he called a humiliating pattern across several domains at once:

ResourceUnder abundanceUnder constraint
MoneyWindfalls squandered with nothing legible to showPaycheck discipline; every dollar's function visible
ComputeAzure credits burned with no record of which experiments were load-bearingPresent urgency; spend maps to specific questions
TimeStartup "freedom" → biased random walk through state spaceJob structure → search converges against real walls
Food logisticsDoorDash abundance → default consumptionGroceries → deliberate, legible consumption

In each case he had imagined the resource was the bottleneck, then discovered the resource's actual use only after losing it or being constrained away from it. Capability-first thinking is too open-ended — "it does not tell me what must be done." The upgraded question is not how do I get more resources? but: "under what constraints does the use of this resource become legible?"

With one stated limit: this is not an argument for maximal constraint. Too much constraint collapses exploration entirely and induces panic — a search space of one point is not a search. The target state is useful pressure with survivability — "enough floor that I don't break, enough pressure that I can see clearly." This is a design parameter, not a virtue. You are tuning a potential well: deep enough that the search converges, shallow enough that it can still explore the region that contains the answer.

Designing the Budget: Boards, Not Hangovers

There is a degenerate way to learn this law: pain. A hangover, a giant token bill, a blown day, a $25k invoice — vivid pain teaches precisely because it is enforced gas visibility. The cost surface becomes "immediate and undeniable." The body and the bank account install the boundary that judgment failed to install in advance. It works. It is also self-harm as pedagogy, and it only teaches after the budget is gone.

The mature design question, in Will's words:

"How do I create vivid reminders and bounded search without having to self-harm or waste resources to learn the lesson?"

The answer is to make gas visible before it is spent, not after. Budgets and boards, not hangovers. For agent systems this is an exact interface specification: a serious agent surface exposes branch count, spend per branch, search depth, evidence gathered, stopping conditions, approval gates — bounded search made visible, rather than hidden under a chat transcript (current agent products "feel like tmux for search processes"; the dissatisfaction "is not aesthetic. It is structural"). The scaling question flips from capability to governability: not can we spawn more agents? but can we govern search and convergence well enough to hand the system larger macrostates without it collapsing into noise?

"I do not just want 'better agents.' I want agents whose search process is governable under gas limits."

The same specification applies to the human running the system, one substrate over. The law is identical across all three:

  • Agents: every loop gets gas (turns, tokens, dollars) and a stopping criterion, supplied as part of the spec — an agent given an open-ended objective will scope-creep by construction, because unbounded search expands like gas.
  • Humans: unstructured free time and unbounded "research" are the same pathology at biological clock speed. Timebox the exploration, precommit the decision point, and treat corrective feedback as a wall, not a verdict.
  • Organizations: deadlines, budgets, and scope cuts are the org-scale gas limits. A company that never bounds its initiatives is running an unaccountable search with payroll as the token bill.

One law, three substrates — which is what qualifies it as a law rather than a productivity tip or a product feature. Any system that searches — silicon, biological, institutional — either has a boundary to converge against or expands until an external one is imposed, usually at the worst available price.

Anti-Patterns

Anti-patternSurface appearanceActual mechanismFix
Research hole"Just being thorough"Paying to avoid selectingGas limit on research; decision precommitted at exhaustion
Swarm worship"Scale will surface the answer"Generation without merge architecture → merge debtBudget convergence first; magic-wish test before spend
Optionality hoarding"Keeping doors open"Selection deferred indefinitely; branches rot unmergedKill-by date on every open branch
Boundary resentment"They're judging me / micromanaging"Misreading a boundary condition as a verdictReframe: they're tuning a variable; the boundary is the favor
Abundance drift"I finally have time/money/credits"Resources expanding possibility space without collapsing itSpecify the problem before touching the resource
Ascetic overcorrection"Constraint is virtue, so maximize it"Search space collapsed below the answer; panicTune for useful pressure with survivability
Gas-blind interfaces"The agent is working, look at the transcript"Spend and branching hidden; accountability impossibleExpose gas and convergence; budgets and boards

The common thread: in every row, the unbounded version feels better — more thorough, more free, more open — and the bounded version is the one that produces a converged artifact.

Note what is not on the list: constraint for its own sake. The gas limit is not asceticism, and it is not punishment for past overspend. It is a convergence component, sized to the decision it serves. A two-hour timebox on a question worth two hours is correct engineering; a two-hour timebox on a question worth two weeks is the ascetic overcorrection in the last row. The budget should be an output of EV reasoning about the decision, not an expression of self-distrust.

Run the checks. Any two positives means the search has no wall and is expanding, not converging.

  1. Can you state the stopping condition? If you cannot say what event ends this search — a date, a spend, a specific question answered — there isn't one, and the search will not end on its own.

  2. What fraction of budget is reserved for convergence? If the honest answer is "none — I'll figure out the merge when I get there," you are on the Project Cyborg trajectory: full spend on generation, nothing left for selection.

  3. Is there a decision waiting for the output? Name the choice that this search's result will collapse. If no live decision exists, the ambiguity reduction has nowhere to land and the search is aesthetic.

  4. Has the frontier grown or shrunk in the last session? Count open branches now vs. one session ago. A converging search kills more branches than it opens. If the number only goes up, you are diverging under the sensation of progress.

  5. Does "one more" keep firing? One more paper, one more branch, one more model turn, one more reorganization of the notes. The "one more" reflex with no terminal condition is the phenomenology of paying to avoid selecting — the next unit of spend is buying deferral, not information.

  6. Would a deadline feel like an insult right now? If an externally imposed boundary would sting as a judgment, you are emotionally invested in the search staying open. That is the tell. The boundary is the favor.

Recovery protocol:

  1. State the decision the search serves, in one sentence. If you can't, the search is aesthetic — kill it now.
  2. Set a gas limit you can see — a timer, a spend cap, a branch count on paper.
  3. Reserve the last third of the budget for convergence. The merge is a spend.
  4. When the gas runs out, merge with whatever you have: select the best branch, ship the artifact, or write the verdict "insufficient signal — killed." All three are converged states. Continuing is the only failure.

Disclaimer: This article imports vocabulary from Ethereum (gas), thermodynamics (expansion, boundary conditions), and information theory (entropy of a decision) as heuristic transfer, not science. Ethereum's gas is a literal protocol mechanism; your attention is not metered in wei, and nobody has measured the entropy of your Tuesday. The transfer earns its keep because the structural claim — search expands by default and converges only against a boundary — holds observably across agents, humans, and organizations, and the borrowed vocabulary makes that structure manipulable. Treat the equations as compressions of an N=1 observed mechanism, not as physics.

Integration with the Mechanistic Framework

Connection to Search vs Planning

The parent lens. Planning constrains where to search (initialization); this article adds the second constraint: how much to search (the budget). The planning-search loop only terminates because gas exhaustion forces steps 5–6 to actually fire. AI collapsed iteration cost, which made search dominant — and simultaneously made unbounded search affordable for the first time, which is why the budget is now the binding design problem rather than the iteration cost.

Connection to Branching and Convergence

The budget is what forces the merge. DIVERGE is cheap and pleasant; CONVERGE is expensive and sequential. Without a gas limit the system diverges forever, and every unmerged branch is debt. Reserve gas for convergence explicitly — the merge is a spend, not an afterthought.

Connection to Selection over Design

Selection is exactly what the budget forces. Sample→select→promote only runs if something makes the select step mandatory; the gas limit is that something. Unbounded search is the generator running without the selector — which is why it produces sediment but never design.

Connection to Container Design

A container is a spatial gas limit. Where the gas limit bounds a search in time/spend, a container bounds it in kind — which activities are even representable inside the boundary. Both are the same operator (constraint collapsing possibility space) applied along different axes; a well-designed day uses both.

Connection to Macrostate Engineering

A macrostate without a budget is a wish. "Define the macrostate, let computation resolve the microstates" only converges if the resolving computation is bounded — the macrostate supplies the target, the gas limit supplies the termination. Handing a system (or yourself) a macrostate plus a budget is the complete delegation; either one alone is incomplete.

Connection to Intelligence Is Water

Water finds every crack it is permitted to find. The budget is part of the riverbed: it shapes where the water flows by deciding where it stops. Unbounded intelligence is a flood — impressive coverage, no channel, nothing driven. The gas limit is what turns the flood into a millrace.

Connection to Reality Contact Metabolism

Contact is what ambiguity gets reduced against. A bounded search that never touches territory just converges confidently on its own simulation. The full objective is maximize reality contact per unit compute: the budget forces convergence, contact makes the convergence mean something.

Connection to Expected Value

Triage under a gas limit is EV allocation: which branch has the highest expected ambiguity reduction per unit of remaining gas? The unbounded searcher never computes this quantity because they never have to. The budget is what makes EV reasoning load-bearing instead of decorative.

Connection to Structure over Request

You cannot request convergence — "please be decisive" changes nothing, for humans or agents. Convergence is a property of the computation graph, and the gas limit is the topological feature that produces it. Build the boundary into the structure; don't ask the searcher to self-bound.

Connection to Taste Compilation

Judgment is the scarce input, which is precisely why it must be budgeted hardest. Attention spent reading a thousand unconverged outputs is the most expensive gas in the system. Compiling taste into selection machinery is how the judgment budget stretches — the compiled selector spends machine gas where you would have spent attention.

See Also


Core Principle: Search expands by default and converges only against a boundary; the budget is not overhead on the search but the component that makes it terminate in a decision. Unbounded search is dangerous because it feels intelligent — thorough, nuanced, open-minded — while its actual function is paying to avoid selecting. The revenue of any search is ambiguity reduced per dollar, never artifact count, and ambiguity is only really reduced against reality contact. So install the gas limit deliberately — budgets and boards, not hangovers — and read every deadline, scope cut, and piece of corrective feedback as what it mechanically is: a boundary condition placed on your search, the wall the random walk needed to converge against. The boundary is the favor.


An unbounded search never finishes being brilliant. A bounded one has to become intelligent — because every remaining unit of gas is a decision about what matters.