Ask one question
Get the answer to a single question about a .NET codebase in one call: localize an open-ended question, or resolve a named piece of wiring.
Goal: answer one question about a codebase, such as "where is the discount applied?" or "what handles this request?", without reading file after file.
Fuse answers this against the warm index in one call. Which tool depends on whether the question names a concrete piece of wiring or is open-ended.
A Named Question: Resolve
When the question names a service, request, route, or config section, fuse_find with the
matching kind answers it deterministically by walking the graph to the real target:
fuse_find(path="C:/Projects/MyApp/src", kind="request", query="CreateOrderCommand")
fuse_find(path="C:/Projects/MyApp/src", kind="route", query="POST /api/orders/{id}")
fuse_find(path="C:/Projects/MyApp/src", kind="service", query="IOrderService")Each returns the resolved target (the handler, the action, the concrete implementation) with provenance and no bodies. This is the answer text search cannot give: it finds the type that actually runs, not the one a name matches.
An Open-Ended Question: Localize
When the question is a topic rather than a name, fuse_find with kind=task ranks the
files and symbols most likely to hold the answer, with reasons and token costs and no bodies:
fuse_find(
path="C:/Projects/MyApp/src",
kind="task",
query="where is the discount applied at checkout?"
)One scoped localize call on the benchmark corpus recalls 37.7 percent of changed files from a title alone at a median 1,348 tokens.
When the Answer Is Not Confident: Refine and Retry
fuse_find with kind=task grades its answer. When a candidate stands clear it returns a confident
tight set. When it does not, it refuses to guess and instead hands back a navigation map
so you can sharpen the question and call again:
localize [insufficient]: 0 candidates
navigation map (refine your query):
areas: src/Ordering/Application, src/Ordering/Domain
entry points: Program.cs, GET /api/orders
nearest symbols: OrderService, PriceCalculator, DiscountPolicy
ask: No candidate stands clear. Provide a symbol, route, service, request, config section, git base, or a narrower description.The map is the next step, not a dead end: read the areas and nearest symbols, pick the one
that fits, and reissue the call with a structured input. Here the DiscountPolicy symbol is
the obvious probe:
fuse_find(path="C:/Projects/MyApp/src", kind="symbol", query="DiscountPolicy")A title that names no code at all (a merge note, a dependency bump, or an empty query)
abstains outright, because it can only return noise. By default the contract still returns a
best-effort set on a partial or insufficient result, so a one-shot client is never stranded;
pass strict: true to hard-require an anchor and get only the map until you provide one.
Then Fetch the Bodies
Both tools return locations, not source. When you want the code, feed the result to
fuse_context:
fuse_context(path="C:/Projects/MyApp/src", requests=["CreateOrderCommand"], maxTokens=15000)Ask the Current Question
If you can quote a service, request, route, or config name, call fuse_find with that
wiring kind. Otherwise call it with kind=task. When the response names a candidate or
resolved target, pass that result to fuse_context with a 15,000-token budget.
Context for an agent on a large codebase
Give an AI agent the context it needs by surveying, localizing or resolving, then planning context, so each request stays inside the token budget.
Refine across turns
Work a multi-step change with several Fuse calls in one task, sharing a session so unchanged files are not sent twice.