4 · The assistant

Asking questions about your code

The assistant sits next to every screen and knows the repository you have open. This section covers the shape its answers take, why it shows its working, and what a question costs.

Answers with a file and a line number

Ask where the authentication code is. The answer names a file and a line range.

Program.cs, lines 1 to 31, has no authentication middleware at all. No UseAuthentication, no UseAuthorization, no AddAuthentication. Only a DbContext, the domain services and MapControllers(). It tells you what that means as well: every endpoint across the six controllers is unauthenticated.

That is the shape to expect. With a file and a line range you can open it, check it, and decide. An answer that describes the situation in general terms cannot be checked, so you can neither trust it nor rule it out.

Saying something is missing counts as an answer

The example above is about something that is not there. The assistant reports it as a specific absence in a specific place, rather than saying it could not find anything. On a security question that difference is the whole value of the answer.

Watch this part of the tour

Seeing how the answer was reached

The work is not hidden behind a spinner. Every step is listed above the answer, in order.

The steps behind an answer: the plan it made, the terms it searched for, the route it took, and notes on what it did and did not find.
The steps behind an answer: the plan it made, the terms it searched for, the route it took, and notes on what it did and did not find.

You can see it ask for a search plan, and the plan that came back with its search terms. You can see it decide to hand the work to an agent, and which provider and model ran.

Two of the lines are about what did not happen.

  • "no code matched these search terms in this project". The search ran and found nothing. That is a fact about your repository, and it is why the answer about the missing middleware is believable.
  • "retrieval found no structural intelligence — answering from general knowledge". The assistant tells you when it has stopped talking about your code. An answer that comes from general knowledge is labelled as one.

You can collapse all of it. It matters most when an answer surprises you, because then you can read what happened instead of guessing.

What a question costs

Every answer shows what it cost. The row under a reply gives tokens in and tokens out, and the running total for the session sits in the left rail.

Three things keep that number down

  • Anything the pass can answer is free. No model call is needed, so it costs nothing. Counts, routes, entry points, reachability and the generated documentation site are all in this group.
  • Each step sends only what it needs. Not the repository. The planner works out the scope before the call is made.
  • Results are kept. A view that has already been worked out is marked CACHED and opens again instantly at no cost. If you want it redone, there is a refresh button next to the badge.

In practice the second question about a repository costs less than the first, because most of what it needs has already been worked out.