> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prbe.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Search and knowledge

> Search by name, Ask by meaning, filter operators, and what the index actually covers.

One bar, two modes. The Search / Ask bar sits at the bottom of every page — a small launcher until you open it. On the workspace canvas it stays open, and **Cmd**/**Ctrl**+**K** focuses it. Press **Tab** in the empty bar to switch modes; the text you typed carries over.

* **Search** finds projects, experiments, runs and papers **by name**. Every word you type must appear in a name or slug, in any order — `sweep lora` finds "LoRA rank sweep". A complete id finds its row, and a paper is found by its title or its arXiv or DOI key.
* **Ask** finds work **by meaning**. It is the [Assistant](/dashboard/assistant.md), inline on the page; **Open in Assistant** continues the chat on the full page.

Search runs when you press **Enter**, never as you type. Editing the query hides the old results until the next **Enter**. Pick **All**, **Projects**, **Experiments**, **Runs** or **Papers** in the type menu at the right of the input.

## Filter grammar

Operators are parsed deterministically. The words left over after parsing must match names and slugs.

| Query | Interpreted as |
| - | - |
| `failed GRPO runs last week` | Runs with status failed, created in the previous calendar week, whose name or slug contains `GRPO` |
| `project:context-study tag:baseline runs` | Runs in that project with that tag. No words remain, so nothing else is matched |
| `config.learning_rate<0.001 metric.loss<0.3` | Runs whose numeric config and latest unambiguous loss both satisfy the predicates |
| `config.optimizer="adam w"` | Exact string config value, spaces included |
| `after:2026-09-01 before:2026-09-08` | Created on or after the first local midnight and before the second |

Supported operators: entity type, lifecycle status, relative dates (`today`, `yesterday`, `last week`, `last N days`), `project:`, `owner:`, `tag:`, `after:` and `before:`, `config.<key>` comparisons, and `metric.<key>` comparisons.

### Chips

Every interpretation is shown as a removable chip, so you can correct the parse without rewriting the query. Explicit UI choices — the type menu, the workspace — take precedence over anything inferred.

> [!NOTE]
>
> Unrecognised or ambiguous wording stays as words to match, or produces an actionable validation message. **It never silently invents a metric key, threshold, aggregation or owner.**

### Metric comparisons

A metric predicate uses the **latest scalar for an exact metric key with unambiguous series dimensions**. An absent or ambiguous measurement does not match — it is not treated as zero and not treated as passing.

Structured predicates apply **before** the candidate limit, so a pure filter query enumerates matching rows deterministically.

## Results

The first result is selected as soon as the answer arrives. **Up** and **Down** move the selection and **Enter** opens it; clicking a result opens it too. Each result shows its type, its breadcrumb and its status. Matching runs expand under their experiment, and repeated siblings collapse behind a show-more control.

Rows matching every word rank first, then typo-tolerant matches on names.

> [!WARNING]
>
> A failed answer shows as an error with a retry, **never as zero results**. When nothing matches by name, the empty state points you to Ask rather than reporting the work as missing.

## Workspace scope

Search respects the selected workspace. **Choose All workspaces for cross-workspace discovery** — the most common "search is broken" report is a project filed on a different shelf.

Changing workspace or query aborts obsolete requests, so an answer for inputs you have left is never displayed.

## The knowledge index

Ask and your agents search a wider index. Beyond entities, it covers documents: captured sessions, notes, papers, connected GitHub repositories, imported W\&B and Benchling content, and artifact text.

Two channels answer every query — an **exact** channel that matches identifiers, names and paths, and a **semantic** channel that matches meaning — sectioned by source with per-result provenance.

> [!TIP]
>
> **A literal identifier is the strongest query you can write.** An issue number, a run slug, a file path or a hash goes straight through the exact channel. Phrasing matters much less than people expect; identifiers matter much more.

Search previews position their window on the chunk that matched the query, not on the first N characters of the document — which on many documents is a metadata header rather than anything about your question.

## For agents

```
search   find things about X
browse   what exists here
```

`search` was called `search_knowledge` until October 2026; the old name has no alias. See [the MCP reference](/agents/mcp.md).

## When the engine is off

A self-hosted install can run without the knowledge engine. Search then returns `state: "partial"` with SQL-exact results only — matching projects, experiments and artifacts, but not run names, and with no semantic channel. That state is reported, not hidden.

See [self-hosting](/deploy/self-host.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.