# Bounded Search

URL: https://mechanisticmindset.com/wiki/bounded-search
Tags: core-framework, computational-lens

# Bounded Search

#core-framework #computational-lens

## 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 makes the search terminate in 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](/wiki/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 nobody installs voluntarily.

## 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 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 most common failure 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](/wiki/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](/wiki/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 a structural guarantee that the search will produce a verdict reality can grade. A [forcing function](/wiki/forcing-functions) supplies that guarantee. 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:

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

Here, $\Delta H$ is the entropy removed from the decision at hand. A thousand documents that leave the next action just as uncertain contribute zero to the numerator. A cheap test that rules out the leading hypothesis contributes enormous value at trivial cost.

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](/wiki/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](/wiki/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 Is Physics: 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](/wiki/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 are boundary conditions on the search rather than judgments of the searcher. 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](/wiki/willpower) a specific job: "spending limited willpower to design the container for unconscious random walk". One [activation-energy](/wiki/activation-energy) payment installs the constraint; afterward, it works 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.

Any searching system, whether silicon, biological, or institutional, 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; accountability impossible | 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](/wiki/expected-value) should determine the budget rather than self-distrust.

## Debugging: Am I in an Unbounded Search?

Any two positive findings in these checks indicate expansion without a wall:

1. **The stopping condition cannot be stated.** A date, spending limit, or answered question must identify the event that ends the process. Without one, it will not end on its own.
2. **Nothing is reserved for convergence.** Leaving the merge until later repeats the Project Cyborg pattern: generation consumes the resources needed for selection.
3. **No decision waits for the output.** Without a named choice that the result will resolve, ambiguity reduction has nowhere to land.
4. **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.
5. **“One more” repeatedly postpones stopping.** Another paper, branch, model turn, or note reorganization without a terminal condition buys deferral rather than information.
6. **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.

**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](/wiki/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](/wiki/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](/wiki/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](/wiki/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](/wiki/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](/wiki/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](/wiki/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](/wiki/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](/wiki/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](/wiki/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](/wiki/search-vs-planning) establishes when search is useful.
- [Branching and Convergence](/wiki/branching-and-convergence) explains the merge a budget forces.
- [Selection over Design](/wiki/selection-over-design) requires selection after sampling.
- [Container Design](/wiki/container-design) supplies a spatial constraint.
- [Macrostate Engineering](/wiki/macrostate-engineering) supplies the target to accompany a budget.
- [Intelligence Is Water](/wiki/intelligence-is-water) describes how constraints direct a flow.
- [Reality Contact Metabolism](/wiki/reality-contact-metabolism) grounds ambiguity reduction in actual contact.
- [Forcing Functions](/wiki/forcing-functions) includes a gas limit as its most general form.
- [Willpower](/wiki/willpower) is spent installing the constraint rather than resisting open-ended search.
- [Activation Energy](/wiki/activation-energy) is paid once to establish a boundary that then operates freely.
- [Expected Value](/wiki/expected-value) allocates the remaining budget among branches.
- [Statistical Mechanics](/wiki/statistical-mechanics) supplies the gas-expansion account of Parkinson's law.
- [Coherence Is Not Evidence](/wiki/coherence-is-not-evidence) explains why unbounded search can feel intelligent.
- [Structure over Request](/wiki/structure-over-request) makes convergence a property of the system.
- [Taste Compilation](/wiki/taste-compilation) stretches the available judgment budget.
- [Agent Body](/wiki/agent-body) includes the surface that makes spending and convergence visible.
