Bounded SearchA search can keep opening new paths; a budget creates a point at which something must be selected.

What It Is
A research session can keep finding another paper to read. An agent can keep opening another branch. A free afternoon can be spent exploring possibilities without choosing one. Intelligence expands the search, but expansion alone does not produce a decision.
Bounded search means giving that process a budget: a deadline, token cap, dollar limit, scope restriction, or approval gate. Search expands by default, and convergence is a separate operation. The boundary forces the process to select from what it has found instead of continuing to enlarge the frontier.
A budget therefore gives the search a point at which it has to stop and hand over an answer, artifact, or decision. Without a boundary, there is nothing to converge against, and the search can continue intelligently and indefinitely.
Search vs Planning explains when search is useful, especially in computationally irreducible domains where attempts are cheap. That does not make additional search valuable without limit. A search that never emits a decision is as useless as no search. Planning bounds where to look; the budget bounds how long to keep looking. Both are required, but the second is the constraint that is hard to install voluntarily.
A closer look
A search with a stopping condition
The budget can be time, money, scope or another explicit limit. It should bound the actual search, not merely express an intention.
Read this diagram
Set the question → Set the budget → Explore candidates → Choose at the boundary.
The Gas Limit
Will calls the budget a gas limit, borrowing the term from Ethereum. An Ethereum computation prepays a capped fuel budget. Exhausting it halts execution, regardless of how much remains to be explored. That restriction makes unbounded execution structurally impossible and keeps the chain operating.
The comparison stops at enforcement: Ethereum itself halts a computation when its gas runs out, while a person's timer or spending cap halts nothing unless the decision to stop at exhaustion was made beforehand and is kept.
The corresponding budget depends on what the search spends:
| Currency | Agent form | Human form | Organizational form |
|---|---|---|---|
| Time | Wall-clock timeout, max turns | Deadline, timebox | Sprint, quarter |
| Money | Dollar cap per task | Budget per experiment | Burn ceiling per bet |
| Compute | Token / retry limits | — | Infra spend per project |
| Branches | Max parallel worktrees | "Pick 3 options, then choose" | Max concurrent initiatives |
| Attention | Approval gates, review depth | "One more hour, then decide" | Meeting count, review slots |
Without a cap, the process need not decide how to allocate resources. It can explore another branch and postpone another choice. A cap makes those choices necessary. A small initial allocation can explore broadly; dead branches can be closed early; remaining resources can go to the strongest signals.
Some of the budget must remain for selection, integration, and verification. The final merge costs resources too. The failure to plan against is spending everything on generation and leaving no capacity to decide what to keep.
"Without a gas limit, search expands to fill the available possibility space. With a gas limit, search is forced to become strategic."
“Think until perfect clarity” becomes a set of allocation questions: which branch is worth exploring, when should the merge begin, and which test provides the most value before the budget expires? Each requires a decision that an unbounded search can avoid.
"A gas limit is not just a restriction. It is what forces search to become intelligent."
| Unbounded search | Bounded search | |
|---|---|---|
| Governing question | "What else could be true?" | "What's the highest-value test with remaining gas?" |
| Branch policy | Keep everything open | Kill early, reinforce winners |
| Stopping condition | None (feels premature forever) | Built in — gas exhaustion forces the merge |
| Relationship to selection | Deferred indefinitely | Forced, with budget reserved for it |
| Output | A larger frontier | A decision, artifact, or resolved question |
| Feels like | Thoroughness, open-mindedness | Pressure, loss of optionality |
| Is actually | Expansion without accountability | Convergence |
Why Unbounded Search Is Dangerous: It Feels Intelligent
Another paper or analysis branch can feel responsible. The activity is nuanced, detailed, and internally coherent, making its texture easy to mistake for progress. Coherence Is Not Evidence describes the same mistake: a convincing internal process is treated as evidence that something has been accomplished.
The relevant test is whether anything has been selected:
"It looks like coverage and depth, but it is paying to avoid selecting."
Selection closes alternatives, exposes a choice to failure, and turns a comfortable set of possibilities into a testable claim. It is the point at which the model meets territory, as described in reality-contact metabolism. Without a budget, stopping criterion, or external objective, tokens, money, hours, and attention can all be spent postponing that encounter.
More capacity reinforces whichever pattern is already present. If someone generates branches readily and delays convergence, more compute, free time, credits, or model capability funds more of that behavior. Will's postmortem put it directly: "raw compute is not neutral — it subsidizes the wrong tendency."
An unbounded search "can feel intelligent while never becoming accountable." Accountability here means an arrangement under which the search has to produce a verdict reality can grade. A forcing function is such an arrangement. The gas limit is its most general form because any search has something it spends.
The Economics: Ambiguity Reduced Per Dollar
Generating more files and analyses creates material that someone still has to read. Scaling output without selecting from it transfers the bottleneck to that reader.
"Text out is cost. Ambiguity resolved is revenue."
Compute earns its cost by closing a question, ruling out a branch, selecting a candidate, or removing an unknown. The measure is ambiguity reduced per dollar rather than artifact count: how much less uncertain the decision at hand is after the spending, set against what was spent. A thousand documents that leave the next action just as uncertain have reduced nothing, whatever they cost. A cheap test that rules out the leading hypothesis has reduced a great deal for very little.
This also supplies a filter before spending. A live decision, real user, or pending merge gives the output somewhere to matter. Synthesizing a conversation or reviewing a shipped artifact serves such a loop. An open-ended swarm told to analyze everything about a person does not have a waiting decision to resolve.
The objective is to maximize reality contact per unit of compute. Ambiguity must be reduced against something outside the search; without that contact, the claimed reduction is fictional.
Case Study: Project Cyborg
Project Cyborg was Will's roughly $25k Azure compute experiment. He expected enough tokens, agents, and branches applied to his life data to produce intelligence and then value. A thousand agents each generated a file analyzing the personal corpus along a different dimension. Output scaled, credits were spent, and the files accumulated.
The day-0 review revealed a missing operation: "structures that are able to make sense of 1000 agent outputs". Generating the material had worked. Converging it had not been built. Every file became another open loop for a person to read, creating the merge debt described in branching and convergence. Until merged, a branch is a liability, and the merge is sequential, intelligent, and expensive work.
The experiment also lacked authoritative events: "one real event updates my system more than 10,000 lines of synthetic analysis." A customer's yes, failed outreach, or shipped video supplies more direction than large quantities of internally generated coverage. Dense low-authority information cannot replace sparse information that determines a real outcome.
The large budget intensified Will's particular failure pattern: "rich branch generation with delayed convergence... one more question, one more branch, selection deferred indefinitely." The $25k bought more deferral rather than the missing convergence.
The resulting filter was the magic-wish test. A worthwhile experiment specifies a transformation from messy input to a converged artifact, such as "a braindump → immediately a good essay that sounds like I wrote it". More analysis about the person was not the desired result. A search unable to name its converged output in advance is asking for resources without identifying what they should produce.
Parkinson's Law as Search: The Boundary Is the Favor
Parkinson's law says work expands to fill the time available. The cause is search dynamics rather than laziness: a process explores every dimension it is allowed to explore, including work, comfort, life, and curiosity. Statistical mechanics supplies the comparison with an unconfined gas occupying the available space.
During a loose week without scope or deadline pressure, Will felt that expansion: "I could actually FEEL this like a biased random walk exploring state space... like air molecules expanding."
Sim's CTO then asked him to finish the Academy videos by the end of the day and pick up the pace. It was his first somewhat negative feedback at the job. His initial response was "SHIT!" and "is he saying im slow?" Within minutes, he interpreted it differently:
"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."
Nobody had specified how many videos. There had been no boundary on the search: "without the feedback I would be working on all these videos — scope creep." The deadline supplied the condition against which it could converge.
External feedback, scope, and deadlines work as boundary conditions on the search, whether or not a judgment of the searcher comes with them. The sting comes from interpreting the boundary as a verdict, a layer added by the recipient. Seeing its function makes it possible to welcome a boundary or install one when external structure is absent.
This also gives willpower a specific job: "spending limited willpower to design the container for unconscious random walk". One activation-energy payment installs the constraint. The aim is for the constraint to do the work afterward, without the ongoing effort of pushing through unbounded space.
Constraints Reveal What Resources Are For
Resources increase what can be considered without specifying what should be done: "resources expand possibility space. They do not automatically collapse it into action." Abundance without a problem can support drift, entertainment, more branches, self-soothing, or low-quality experiments.
A missing resource makes its function easier to identify because the system has to route around the absence or pay its cost:
"The function of a resource becomes clearest at the edge of its absence."
Will recognized this pattern across several domains:
| Resource | Under abundance | Under constraint |
|---|---|---|
| Money | Windfalls squandered with nothing legible to show | Paycheck discipline; every dollar's function visible |
| Compute | Azure credits burned with no record of which experiments were load-bearing | Present urgency; spend maps to specific questions |
| Time | Startup "freedom" → biased random walk through state space | Job structure → search converges against real walls |
| Food logistics | DoorDash abundance → default consumption | Groceries → deliberate, legible consumption |
In each case, he had thought the resource was the bottleneck and discovered its specific use only after losing it or being constrained away from it. Capability-first thinking "does not tell me what must be done." The revised question was "under what constraints does the use of this resource become legible?"
This does not justify maximum constraint. Removing too many options prevents exploration and produces panic; a search space of one point is not a search. The target is useful pressure with survivability: "enough floor that I don't break, enough pressure that I can see clearly." The constraint must be strong enough to cause convergence while leaving enough room to explore the region containing the answer.
Designing the Budget: Boards, Not Hangovers
Pain can make a previously hidden budget visible. A hangover, large token bill, lost day, or $25k invoice makes cost "immediate and undeniable." The body or bank account imposes the boundary after the resource is gone. That teaches the lesson, but only through the harm or waste it was meant to prevent.
Will asked for a way to make the cost visible earlier:
"How do I create vivid reminders and bounded search without having to self-harm or waste resources to learn the lesson?"
A useful interface shows the budget before it is spent. For an agent system, that means branch count, spending per branch, depth, collected evidence, stopping conditions, and approval gates. Hiding them beneath a transcript leaves the process hard to govern. Existing products "feel like tmux for search processes"; the dissatisfaction "is not aesthetic. It is structural".
The scaling question becomes whether the system can govern search and convergence well enough to accept larger macrostates without producing noise:
"I do not just want 'better agents.' I want agents whose search process is governable under gas limits."
The same requirement applies at three scales. Each agent loop needs a turn, token, or dollar budget and a stopping criterion in its specification; an open-ended objective expands its own scope. A person needs a timebox and a precommitted decision point, with corrective feedback treated as a constraint. An organization uses deadlines, budgets, and scope cuts to keep initiatives from becoming unaccountable searches funded by payroll.
At all three scales the search needs a boundary to converge against. Without an installed boundary, expansion continues until an external limit is imposed, often at the worst price.
Anti-Patterns
| Anti-pattern | Surface appearance | Actual mechanism | Fix |
|---|---|---|---|
| Research hole | "Just being thorough" | Paying to avoid selecting | Gas limit on research; decision precommitted at exhaustion |
| Swarm worship | "Scale will surface the answer" | Generation without merge architecture → merge debt | Budget convergence first; magic-wish test before spend |
| Optionality hoarding | "Keeping doors open" | Selection deferred indefinitely; branches rot unmerged | Kill-by date on every open branch |
| Boundary resentment | "They're judging me / micromanaging" | Misreading a boundary condition as a verdict | Reframe: they're tuning a variable; the boundary is the favor |
| Abundance drift | "I finally have time/money/credits" | Resources expanding possibility space without collapsing it | Specify the problem before touching the resource |
| Ascetic overcorrection | "Constraint is virtue, so maximize it" | Search space collapsed below the answer; panic | Tune for useful pressure with survivability |
| Gas-blind interfaces | "The agent is working, look at the transcript" | Spend and branching hidden; nothing to hold the search to | Expose gas and convergence; budgets and boards |
The unbounded version feels more open, thorough, and free, while the bounded version produces an artifact. The constraint itself is neither a virtue nor a punishment for earlier overspending. Its size should follow the decision's value.
A two-hour timebox fits a question worth two hours. Applying the same limit to a question worth two weeks removes useful exploration. Expected-value reasoning should determine the budget rather than self-distrust.
Debugging: Am I in an Unbounded Search?
These checks look for expansion without a wall. The more of them come back positive, the stronger the sign:
- The stopping condition cannot be stated. A date, spending limit, or answered question must identify the event that ends the process. Without one, nothing in the process tells it to end.
- Nothing is reserved for convergence. Leaving the merge until later repeats the Project Cyborg pattern: generation consumes the resources needed for selection.
- No decision waits for the output. Without a named choice that the result will resolve, ambiguity reduction has nowhere to land.
- The frontier keeps growing. Comparing the number of open branches with the previous session shows whether more are being closed than opened. Growth alone is divergence, even when it feels productive.
- “One more” repeatedly postpones stopping. Another paper, branch, model turn, or note reorganization without a terminal condition buys deferral rather than information.
- A deadline would feel insulting. Resentment toward an external boundary reveals an emotional investment in keeping the search open.
The recovery sequence is to state the decision in one sentence, stop the search if no decision can be named, and set a visible timer, spend cap, or branch count. The last third of the budget is reserved for convergence.
At exhaustion, the process uses what it has: select the best branch, ship the artifact, or record "insufficient signal — killed." Each is a converged state. Continuing is the failure because it removes the boundary that was supposed to force a result.
Integration with the Mechanistic Framework
Connection to Search vs Planning
Planning initializes where to search; the budget specifies how much search to perform. Exhaustion forces steps 5–6 of the planning-search loop to occur. AI lowered iteration cost enough to make search dominant in more domains, while also making unbounded search affordable for the first time. Governing the budget becomes the next design constraint.
Connection to Branching and Convergence
Divergence is cheap and pleasant; convergence is expensive and sequential. A budget forces the merge, and some of it must be reserved for that work. Otherwise, each unmerged branch remains debt.
Connection to Selection over Design
Sample→select→promote requires a mandatory selection step. The gas limit supplies it. An unbounded generator can keep producing material without performing the selection that makes it useful.
Connection to Container Design
A container is a spatial gas limit. Time and spending budgets limit duration or cost; a container limits the kinds of activity possible within its boundary. A day can use both forms of constraint.
Connection to Macrostate Engineering
A macrostate specifies a target, while the budget supplies termination. Computation can resolve the microstates only under a bound. Target and budget together make a complete delegation; either alone leaves part unspecified.
Connection to Intelligence Is Water
The budget shapes the search by determining where it stops, just as a channel constrains a flow. Unbounded intelligence covers more territory without directing that activity toward an effect. The boundary makes the flow usable.
Connection to Reality Contact Metabolism
A bounded search can still converge on its own simulation if it never encounters reality. The budget forces a result; contact makes that result meaningful. Both are needed to maximize reality contact per unit of compute.
Connection to Expected Value
Allocation under a cap asks which branch offers the most expected ambiguity reduction per remaining unit. A search without a cap never has to make that calculation.
Connection to Structure over Request
A request to be decisive does not create convergence for either a person or an agent. The budget changes the computation graph so stopping and selection occur. The boundary must be installed in the structure rather than left to the searcher's discretion.
Connection to Taste Compilation
Judgment is the scarcest resource in the process. Reading a thousand unconverged outputs spends it quickly. Compiling taste into a selector transfers some of that work to machine compute and extends the available judgment budget.
See Also
- Search vs Planning establishes when search is useful.
- Branching and Convergence explains the merge a budget forces.
- Selection over Design requires selection after sampling.
- Container Design supplies a spatial constraint.
- Macrostate Engineering supplies the target to accompany a budget.
- Intelligence Is Water describes how constraints direct a flow.
- Reality Contact Metabolism grounds ambiguity reduction in actual contact.
- Forcing Functions includes a gas limit as its most general form.
- Willpower is spent installing the constraint rather than resisting open-ended search.
- Activation Energy is paid once to establish a boundary.
- Expected Value allocates the remaining budget among branches.
- Statistical Mechanics supplies the comparison between Parkinson's law and an expanding gas.
- Coherence Is Not Evidence explains why unbounded search can feel intelligent.
- Structure over Request makes convergence a property of the system.
- Taste Compilation stretches the available judgment budget.
- Agent Body includes the surface that makes spending and convergence visible.